diff options
Diffstat (limited to 'golang/cmd')
-rw-r--r-- | golang/cmd/fatcat-server/main.go | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/golang/cmd/fatcat-server/main.go b/golang/cmd/fatcat-server/main.go new file mode 100644 index 00000000..9b286df2 --- /dev/null +++ b/golang/cmd/fatcat-server/main.go @@ -0,0 +1,58 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package main + +import ( + "log" + "os" + + loads "github.com/go-openapi/loads" + flags "github.com/jessevdk/go-flags" + + "git.archive.org/bnewbold/fatcat/restapi" + "git.archive.org/bnewbold/fatcat/restapi/operations" +) + +// This file was generated by the swagger tool. +// Make sure not to overwrite this file after you generated it because all your edits would be lost! + +func main() { + + swaggerSpec, err := loads.Embedded(restapi.SwaggerJSON, restapi.FlatSwaggerJSON) + if err != nil { + log.Fatalln(err) + } + + api := operations.NewFatcatAPI(swaggerSpec) + server := restapi.NewServer(api) + defer server.Shutdown() + + parser := flags.NewParser(server, flags.Default) + parser.ShortDescription = "fatcat" + parser.LongDescription = "A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata" + + server.ConfigureFlags() + for _, optsGroup := range api.CommandLineOptionsGroups { + _, err := parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options) + if err != nil { + log.Fatalln(err) + } + } + + if _, err := parser.Parse(); err != nil { + code := 1 + if fe, ok := err.(*flags.Error); ok { + if fe.Type == flags.ErrHelp { + code = 0 + } + } + os.Exit(code) + } + + server.ConfigureAPI() + + if err := server.Serve(); err != nil { + log.Fatalln(err) + } + +} |