Documentation ¶
Overview ¶
Package server is a generated GoMock package.
Index ¶
- func ClientVersionCheckMiddleware(h http.Handler, rng VersionRange) http.Handler
- func CompressionLevel(level int) func(*serverConfig)
- func NewRouter(c Controller) *mux.Router
- func PanicMiddleware(h http.Handler) http.Handler
- func TracingMiddleware(h http.Handler) http.Handler
- func WithTracingOpName(ctx context.Context, opName string) context.Context
- type Controller
- type MockController
- type MockControllerMockRecorder
- type Server
- type VersionRange
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ClientVersionCheckMiddleware ¶
func ClientVersionCheckMiddleware(h http.Handler, rng VersionRange) http.Handler
ClientVersionCheckMiddleware checks the client version.
func CompressionLevel ¶
func CompressionLevel(level int) func(*serverConfig)
func NewRouter ¶
func NewRouter(c Controller) *mux.Router
NewRouter returns a mux.Router with no middleware. This is so we can attach additional routes to the router if necessary
func PanicMiddleware ¶ added in v1.2.3
PanicMiddleware logs any panics. For now, we're continue throwing the panic up the stack so this may crash the process.
func TracingMiddleware ¶ added in v1.2.3
TracingMiddleware creates a new span named after the URL path of the request. It places this span in the request context, for use by other handlers via opentracing.SpanFromContext() If a span exists in request headers, the span created by this middleware will be a child of that span.
func WithTracingOpName ¶ added in v1.2.3
WithTracingOpName adds the op name to a context for use by the tracing library. It uses a pointer because it's called below in the stack and the only way to pass the info up is to have it a set a pointer. Even though it doesn't change the context we still have this return a context to maintain the illusion.
Types ¶
type Controller ¶
type Controller interface { // Health handles GET requests to /health // // 200: nil // 400: *models.BadRequest // 404: *models.NotFound // 500: *models.InternalError // default: client side HTTP errors, for example: context.DeadlineExceeded. Health(ctx context.Context, i *models.HealthInput) error }
Controller defines the interface for the swagger-test service.
type MockController ¶
type MockController struct {
// contains filtered or unexported fields
}
MockController is a mock of Controller interface
func NewMockController ¶
func NewMockController(ctrl *gomock.Controller) *MockController
NewMockController creates a new mock instance
func (*MockController) EXPECT ¶
func (m *MockController) EXPECT() *MockControllerMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockController) Health ¶ added in v1.0.0
func (m *MockController) Health(ctx context.Context, i *models.HealthInput) error
Health mocks base method
type MockControllerMockRecorder ¶ added in v1.5.1
type MockControllerMockRecorder struct {
// contains filtered or unexported fields
}
MockControllerMockRecorder is the mock recorder for MockController
func (*MockControllerMockRecorder) Health ¶ added in v1.5.1
func (mr *MockControllerMockRecorder) Health(ctx, i interface{}) *gomock.Call
Health indicates an expected call of Health
type Server ¶
type Server struct { // Handler should generally not be changed. It exposed to make testing easier. Handler http.Handler // contains filtered or unexported fields }
Server defines a HTTP server that implements the Controller interface.
func AttachMiddleware ¶
func AttachMiddleware(router *mux.Router, addr string, m []func(http.Handler) http.Handler, options ...func(*serverConfig)) *Server
AttachMiddleware attaches the given middleware to the router; this is to be used in conjunction with NewServer. It attaches custom middleware passed as arguments as well as the built-in middleware for logging, tracing, and handling panics. It should be noted that the built-in middleware executes first followed by the passed in middleware (in the order specified).
func New ¶
func New(c Controller, addr string, options ...func(*serverConfig)) *Server
New returns a Server that implements the Controller interface. It will start when "Serve" is called.
func NewWithMiddleware ¶ added in v1.2.0
func NewWithMiddleware(c Controller, addr string, m []func(http.Handler) http.Handler, options ...func(*serverConfig)) *Server
NewWithMiddleware returns a Server that implemenets the Controller interface. It runs the middleware after the built-in middleware (e.g. logging), but before the controller methods. The middleware is executed in the order specified. The server will start when "Serve" is called.
type VersionRange ¶
VersionRange decides whether to accept a version.