github.com/circl-dev/go-swagger@v0.31.0/examples/todo-list-strict/restapi/operations/todos/add_one.go (about) 1 // Code generated by go-swagger; DO NOT EDIT. 2 3 package todos 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 // AddOneHandlerFunc turns a function with the right signature into a add one handler 15 type AddOneHandlerFunc func(AddOneParams, interface{}) AddOneResponder 16 17 // Handle executing the request and returning a response 18 func (fn AddOneHandlerFunc) Handle(params AddOneParams, principal interface{}) AddOneResponder { 19 return fn(params, principal) 20 } 21 22 // AddOneHandler interface for that can handle valid add one params 23 type AddOneHandler interface { 24 Handle(AddOneParams, interface{}) AddOneResponder 25 } 26 27 // NewAddOne creates a new http.Handler for the add one operation 28 func NewAddOne(ctx *middleware.Context, handler AddOneHandler) *AddOne { 29 return &AddOne{Context: ctx, Handler: handler} 30 } 31 32 /*AddOne swagger:route POST / todos addOne 33 34 AddOne add one API 35 36 */ 37 type AddOne struct { 38 Context *middleware.Context 39 Handler AddOneHandler 40 } 41 42 func (o *AddOne) ServeHTTP(rw http.ResponseWriter, r *http.Request) { 43 route, rCtx, _ := o.Context.RouteInfo(r) 44 if rCtx != nil { 45 r = rCtx 46 } 47 var Params = NewAddOneParams() 48 49 uprinc, aCtx, err := o.Context.Authorize(r, route) 50 if err != nil { 51 o.Context.Respond(rw, r, route.Produces, route, err) 52 return 53 } 54 if aCtx != nil { 55 r = aCtx 56 } 57 var principal interface{} 58 if uprinc != nil { 59 principal = uprinc 60 } 61 62 if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params 63 o.Context.Respond(rw, r, route.Produces, route, err) 64 return 65 } 66 67 res := o.Handler.Handle(Params, principal) // actually handle the request 68 69 o.Context.Respond(rw, r, route.Produces, route, res) 70 71 }