aboutsummaryrefslogtreecommitdiffstats
path: root/golang/restapi/configure_fatcat.go
diff options
context:
space:
mode:
Diffstat (limited to 'golang/restapi/configure_fatcat.go')
-rw-r--r--golang/restapi/configure_fatcat.go71
1 files changed, 71 insertions, 0 deletions
diff --git a/golang/restapi/configure_fatcat.go b/golang/restapi/configure_fatcat.go
new file mode 100644
index 00000000..1b8d2e7c
--- /dev/null
+++ b/golang/restapi/configure_fatcat.go
@@ -0,0 +1,71 @@
+// This file is safe to edit. Once it exists it will not be overwritten
+
+package restapi
+
+import (
+ "crypto/tls"
+ "net/http"
+
+ errors "github.com/go-openapi/errors"
+ runtime "github.com/go-openapi/runtime"
+ middleware "github.com/go-openapi/runtime/middleware"
+ graceful "github.com/tylerb/graceful"
+
+ "git.archive.org/bnewbold/fatcat/restapi/operations"
+)
+
+//go:generate swagger generate server --target .. --name Fatcat --spec ../fatcat-openapi2.yml
+
+func configureFlags(api *operations.FatcatAPI) {
+ // api.CommandLineOptionsGroups = []swag.CommandLineOptionsGroup{ ... }
+}
+
+func configureAPI(api *operations.FatcatAPI) http.Handler {
+ // configure the api here
+ api.ServeError = errors.ServeError
+
+ // Set your custom logger if needed. Default one is log.Printf
+ // Expected interface func(string, ...interface{})
+ //
+ // Example:
+ // api.Logger = log.Printf
+
+ api.JSONConsumer = runtime.JSONConsumer()
+
+ api.JSONProducer = runtime.JSONProducer()
+
+ api.GetCreatorIDHandler = operations.GetCreatorIDHandlerFunc(func(params operations.GetCreatorIDParams) middleware.Responder {
+ return middleware.NotImplemented("operation .GetCreatorID has not yet been implemented")
+ })
+ api.PostCreatorHandler = operations.PostCreatorHandlerFunc(func(params operations.PostCreatorParams) middleware.Responder {
+ return middleware.NotImplemented("operation .PostCreator has not yet been implemented")
+ })
+
+ api.ServerShutdown = func() {}
+
+ return setupGlobalMiddleware(api.Serve(setupMiddlewares))
+}
+
+// The TLS configuration before HTTPS server starts.
+func configureTLS(tlsConfig *tls.Config) {
+ // Make all necessary changes to the TLS configuration here.
+}
+
+// As soon as server is initialized but not run yet, this function will be called.
+// If you need to modify a config, store server instance to stop it individually later, this is the place.
+// This function can be called multiple times, depending on the number of serving schemes.
+// scheme value will be set accordingly: "http", "https" or "unix"
+func configureServer(s *graceful.Server, scheme, addr string) {
+}
+
+// The middleware configuration is for the handler executors. These do not apply to the swagger.json document.
+// The middleware executes after routing but before authentication, binding and validation
+func setupMiddlewares(handler http.Handler) http.Handler {
+ return handler
+}
+
+// The middleware configuration happens before anything, this middleware also applies to serving the swagger.json document.
+// So this is a good place to plug in a panic handling middleware, logging and metrics
+func setupGlobalMiddleware(handler http.Handler) http.Handler {
+ return handler
+}