github.com/djarvur/go-swagger@v0.18.0/examples/composed-auth/restapi/operations/add_order.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 middleware "github.com/go-openapi/runtime/middleware" 12 13 models "github.com/go-swagger/go-swagger/examples/composed-auth/models" 14 ) 15 16 // AddOrderHandlerFunc turns a function with the right signature into a add order handler 17 type AddOrderHandlerFunc func(AddOrderParams, *models.Principal) middleware.Responder 18 19 // Handle executing the request and returning a response 20 func (fn AddOrderHandlerFunc) Handle(params AddOrderParams, principal *models.Principal) middleware.Responder { 21 return fn(params, principal) 22 } 23 24 // AddOrderHandler interface for that can handle valid add order params 25 type AddOrderHandler interface { 26 Handle(AddOrderParams, *models.Principal) middleware.Responder 27 } 28 29 // NewAddOrder creates a new http.Handler for the add order operation 30 func NewAddOrder(ctx *middleware.Context, handler AddOrderHandler) *AddOrder { 31 return &AddOrder{Context: ctx, Handler: handler} 32 } 33 34 /*AddOrder swagger:route POST /order/add addOrder 35 36 post a new order 37 38 Registered customers should be able to add purchase orders. 39 Registered inventory managers should be able to add replenishment orders. 40 41 42 */ 43 type AddOrder struct { 44 Context *middleware.Context 45 Handler AddOrderHandler 46 } 47 48 func (o *AddOrder) ServeHTTP(rw http.ResponseWriter, r *http.Request) { 49 route, rCtx, _ := o.Context.RouteInfo(r) 50 if rCtx != nil { 51 r = rCtx 52 } 53 var Params = NewAddOrderParams() 54 55 uprinc, aCtx, err := o.Context.Authorize(r, route) 56 if err != nil { 57 o.Context.Respond(rw, r, route.Produces, route, err) 58 return 59 } 60 if aCtx != nil { 61 r = aCtx 62 } 63 var principal *models.Principal 64 if uprinc != nil { 65 principal = uprinc.(*models.Principal) // this is really a models.Principal, I promise 66 } 67 68 if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params 69 o.Context.Respond(rw, r, route.Produces, route, err) 70 return 71 } 72 73 res := o.Handler.Handle(Params, principal) // actually handle the request 74 75 o.Context.Respond(rw, r, route.Produces, route, res) 76 77 }