github.com/circl-dev/go-swagger@v0.31.0/examples/tutorials/custom-server/gen/restapi/configure_greeter.go (about) 1 // This file is safe to edit. Once it exists it will not be overwritten 2 3 package restapi 4 5 import ( 6 "crypto/tls" 7 "net/http" 8 9 "github.com/circl-dev/runtime" 10 "github.com/circl-dev/runtime/middleware" 11 "github.com/go-openapi/errors" 12 13 "github.com/circl-dev/go-swagger/examples/tutorials/custom-server/gen/restapi/operations" 14 ) 15 16 //go:generate swagger generate server --target ../../gen --name Greeter --spec ../../swagger/swagger.yml --principal interface{} --exclude-main 17 18 func configureFlags(api *operations.GreeterAPI) { 19 // api.CommandLineOptionsGroups = []swag.CommandLineOptionsGroup{ ... } 20 } 21 22 func configureAPI(api *operations.GreeterAPI) http.Handler { 23 // configure the api here 24 api.ServeError = errors.ServeError 25 26 // Set your custom logger if needed. Default one is log.Printf 27 // Expected interface func(string, ...interface{}) 28 // 29 // Example: 30 // api.Logger = log.Printf 31 32 api.UseSwaggerUI() 33 // To continue using redoc as your UI, uncomment the following line 34 // api.UseRedoc() 35 36 api.JSONConsumer = runtime.JSONConsumer() 37 38 api.TxtProducer = runtime.TextProducer() 39 40 if api.GetGreetingHandler == nil { 41 api.GetGreetingHandler = operations.GetGreetingHandlerFunc(func(params operations.GetGreetingParams) middleware.Responder { 42 return middleware.NotImplemented("operation operations.GetGreeting has not yet been implemented") 43 }) 44 } 45 46 api.PreServerShutdown = func() {} 47 48 api.ServerShutdown = func() {} 49 50 return setupGlobalMiddleware(api.Serve(setupMiddlewares)) 51 } 52 53 // The TLS configuration before HTTPS server starts. 54 func configureTLS(tlsConfig *tls.Config) { 55 // Make all necessary changes to the TLS configuration here. 56 } 57 58 // As soon as server is initialized but not run yet, this function will be called. 59 // If you need to modify a config, store server instance to stop it individually later, this is the place. 60 // This function can be called multiple times, depending on the number of serving schemes. 61 // scheme value will be set accordingly: "http", "https" or "unix". 62 func configureServer(s *http.Server, scheme, addr string) { 63 } 64 65 // The middleware configuration is for the handler executors. These do not apply to the swagger.json document. 66 // The middleware executes after routing but before authentication, binding and validation. 67 func setupMiddlewares(handler http.Handler) http.Handler { 68 return handler 69 } 70 71 // The middleware configuration happens before anything, this middleware also applies to serving the swagger.json document. 72 // So this is a good place to plug in a panic handling middleware, logging and metrics. 73 func setupGlobalMiddleware(handler http.Handler) http.Handler { 74 return handler 75 }