aboutsummaryrefslogtreecommitdiffstats
path: root/golang/cmd/fatcatd/serve.go
diff options
context:
space:
mode:
Diffstat (limited to 'golang/cmd/fatcatd/serve.go')
-rw-r--r--golang/cmd/fatcatd/serve.go89
1 files changed, 0 insertions, 89 deletions
diff --git a/golang/cmd/fatcatd/serve.go b/golang/cmd/fatcatd/serve.go
deleted file mode 100644
index 73eb1f86..00000000
--- a/golang/cmd/fatcatd/serve.go
+++ /dev/null
@@ -1,89 +0,0 @@
-
-package main
-
-import (
- "net/http"
-
- "github.com/spf13/viper"
- log "github.com/sirupsen/logrus"
- loads "github.com/go-openapi/loads"
- "github.com/carbocation/interpose"
- "github.com/carbocation/interpose/adaptors"
- "github.com/meatballhat/negroni-logrus"
- "github.com/bradleyg/go-sentroni"
- "github.com/go-pg/pg"
- "github.com/spf13/cobra"
-
- "git.archive.org/bnewbold/fatcat/golang/api/handlers"
- "git.archive.org/bnewbold/fatcat/golang/gen/restapi"
- "git.archive.org/bnewbold/fatcat/golang/gen/restapi/operations"
-)
-
-var serveCmd = &cobra.Command{
- Use: "serve [options]",
- Short: "Run fatcat REST API server",
- Run: func(cmd *cobra.Command, args[] string) {
- main_serve()
- },
-}
-
-func main_serve() {
-
- // load embedded swagger file
- swaggerSpec, err := loads.Analyzed(restapi.SwaggerJSON, "")
- if err != nil {
- log.Fatalln(err)
- }
-
- // create new service API
- api := operations.NewFatcatAPI(swaggerSpec)
-
- // Set your custom logger if needed. Default one is log.Printf
- // Expected interface func(string, ...interface{})
- api.Logger = log.Printf
-
- server := restapi.NewServer(api)
- defer server.Shutdown()
-
- server.Port = viper.GetInt("port")
-
- db_options, err := pg.ParseURL(viper.GetString("db_url"))
- if err != nil {
- log.Panicf("parsing DB string: %v", err)
- }
- db := pg.Connect(db_options)
- defer db.Close()
-
- // register all the many handlers here
- api.GetCreatorIDHandler = handlers.NewGetCreatorIDHandler(db);
- api.PostCreatorHandler = handlers.NewPostCreatorHandler(db);
- api.GetCreatorLookupHandler = handlers.NewGetCreatorLookupHandler(db);
-
- api.GetEditgroupIDHandler = handlers.NewGetEditgroupIDHandler(db);
- api.GetEditorUsernameHandler = handlers.NewGetEditorUsernameHandler(db);
- api.GetEditorUsernameChangelogHandler = handlers.NewGetEditorUsernameChangelogHandler(db);
- api.PostEditgroupHandler = handlers.NewPostEditgroupHandler(db);
- api.PostEditgroupIDAcceptHandler = handlers.NewPostEditgroupIDAcceptHandler(db);
-
- middle := interpose.New()
-
- // sentry
- middle.Use(adaptors.FromNegroni(sentroni.NewRecovery(viper.GetString("sentry_dsn"))))
-
- // logging
- middle.Use(adaptors.FromNegroni(negronilogrus.NewMiddleware()))
-
- // add clacks
- middle.UseHandler(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
- rw.Header().Set("X-Clacks-Overhead:", "GNU Aaron Swartz, John Perry Barlow")
- }))
-
- // actual handler
- middle.UseHandler(api.Serve(nil))
- server.SetHandler(middle)
-
- if err := server.Serve(); err != nil {
- log.Fatalln(err)
- }
-
-}