diff options
Diffstat (limited to 'golang/cmd/fatcatd')
-rw-r--r-- | golang/cmd/fatcatd/main.go | 9 | ||||
-rw-r--r-- | golang/cmd/fatcatd/reinit.go | 51 | ||||
-rw-r--r-- | golang/cmd/fatcatd/root.go | 72 | ||||
-rw-r--r-- | golang/cmd/fatcatd/serve.go | 89 |
4 files changed, 0 insertions, 221 deletions
diff --git a/golang/cmd/fatcatd/main.go b/golang/cmd/fatcatd/main.go deleted file mode 100644 index a2ad8ee2..00000000 --- a/golang/cmd/fatcatd/main.go +++ /dev/null @@ -1,9 +0,0 @@ - -package main - -import ( -) - -func main() { - Execute() -} diff --git a/golang/cmd/fatcatd/reinit.go b/golang/cmd/fatcatd/reinit.go deleted file mode 100644 index 60726df0..00000000 --- a/golang/cmd/fatcatd/reinit.go +++ /dev/null @@ -1,51 +0,0 @@ - -package main - -import ( - "github.com/spf13/viper" - log "github.com/sirupsen/logrus" - "github.com/go-pg/pg" - "github.com/spf13/cobra" - "github.com/gobuffalo/packr" -) - -var reinitCmd = &cobra.Command{ - Use: "reinit [options]", - Short: "Reset database schema", - Run: func(cmd *cobra.Command, args[] string) { - main_reinit() - }, -} - -func main_reinit() { - - box := packr.NewBox("../../sql") - sql_schema, err := box.MustString("fatcat-schema.sql") - if err != nil { - log.Panicf("finding SQL file: %v", err) - } - - 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() - - log.Info("Starting load...") - _, err = db.Exec(sql_schema) - if err != nil { - log.Fatalf("Error loading SQL: %v", err) - } - log.Info("Loading dummy data...") - sql_dummy, err := box.MustString("dummy-data.sql") - if err != nil { - log.Panicf("finding SQL file: %v", err) - } - _, err = db.Exec(sql_dummy) - if err != nil { - log.Fatalf("Error loading SQL: %v", err) - } - log.Info("Success!") - -} diff --git a/golang/cmd/fatcatd/root.go b/golang/cmd/fatcatd/root.go deleted file mode 100644 index 12be35b3..00000000 --- a/golang/cmd/fatcatd/root.go +++ /dev/null @@ -1,72 +0,0 @@ - -package main - -import ( - "os" - "fmt" - - log "github.com/sirupsen/logrus" - "github.com/spf13/viper" - "github.com/spf13/cobra" - "github.com/getsentry/raven-go" -) - -var cfgFile = ""; - -var rootCmd = &cobra.Command{ - Use: "fatcatd", - Short: "REST API Server", - Long: "A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata", - Version: "0.1.0", -} - -func init() { - cobra.OnInitialize(initConfig) - rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is ./fatcatd.toml)") - rootCmd.PersistentFlags().BoolP("verbose", "v", false, "increase logging volume") - viper.BindPFlag("verbose", rootCmd.PersistentFlags().Lookup("verbose")) - - serveCmd.Flags().String("db-url", "postgres://", "database connecion string") - - rootCmd.AddCommand(serveCmd) - rootCmd.AddCommand(reinitCmd) -} - -func initConfig() { - - viper.SetDefault("port", 9411) - viper.SetEnvPrefix("FATCAT") - viper.AutomaticEnv() - - if cfgFile != "" { - // Use config file from the flag. - viper.SetConfigFile(cfgFile) - } else { - viper.SetConfigType("toml") - viper.AddConfigPath(".") - viper.SetConfigName("fatcatd") - } - - err := viper.ReadInConfig() - if err != nil { - log.Fatalf("Error loading config: %s \n", err) - } - - // not default of stderr - log.SetOutput(os.Stdout); - - if viper.GetBool("verbose") == true { - log.SetLevel(log.DebugLevel) - } - log.Debug("It's verbose!") - - raven.SetDSN(viper.GetString("sentry_dsn")); - -} - -func Execute() { - if err := rootCmd.Execute(); err != nil { - fmt.Println(err) - os.Exit(1) - } -} 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) - } - -} |