github.com/circl-dev/go-swagger@v0.31.0/examples/stream-server/restapi/operations/elapse.go (about) 1 // Code generated by go-swagger; DO NOT EDIT. 2 3 package operations 4 5 // This file was generated by the swagger tool. 6 // Editing this file might prove futile when you re-run the generate command 7 8 import ( 9 "net/http" 10 11 "github.com/circl-dev/runtime/middleware" 12 ) 13 14 // ElapseHandlerFunc turns a function with the right signature into a elapse handler 15 type ElapseHandlerFunc func(ElapseParams) middleware.Responder 16 17 // Handle executing the request and returning a response 18 func (fn ElapseHandlerFunc) Handle(params ElapseParams) middleware.Responder { 19 return fn(params) 20 } 21 22 // ElapseHandler interface for that can handle valid elapse params 23 type ElapseHandler interface { 24 Handle(ElapseParams) middleware.Responder 25 } 26 27 // NewElapse creates a new http.Handler for the elapse operation 28 func NewElapse(ctx *middleware.Context, handler ElapseHandler) *Elapse { 29 return &Elapse{Context: ctx, Handler: handler} 30 } 31 32 /* Elapse swagger:route GET /elapse/{length} elapse 33 34 Count down the number of seconds 35 36 Count down the seconds remaining 37 38 */ 39 type Elapse struct { 40 Context *middleware.Context 41 Handler ElapseHandler 42 } 43 44 func (o *Elapse) ServeHTTP(rw http.ResponseWriter, r *http.Request) { 45 route, rCtx, _ := o.Context.RouteInfo(r) 46 if rCtx != nil { 47 *r = *rCtx 48 } 49 var Params = NewElapseParams() 50 if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params 51 o.Context.Respond(rw, r, route.Produces, route, err) 52 return 53 } 54 55 res := o.Handler.Handle(Params) // actually handle the request 56 o.Context.Respond(rw, r, route.Produces, route, res) 57 58 }