github.com/circl-dev/go-swagger@v0.31.0/examples/contributed-templates/stratoscale/restapi/operations/pet/pet_upload_image.go (about) 1 // Code generated by go-swagger; DO NOT EDIT. 2 3 package pet 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 // PetUploadImageHandlerFunc turns a function with the right signature into a pet upload image handler 15 type PetUploadImageHandlerFunc func(PetUploadImageParams, interface{}) middleware.Responder 16 17 // Handle executing the request and returning a response 18 func (fn PetUploadImageHandlerFunc) Handle(params PetUploadImageParams, principal interface{}) middleware.Responder { 19 return fn(params, principal) 20 } 21 22 // PetUploadImageHandler interface for that can handle valid pet upload image params 23 type PetUploadImageHandler interface { 24 Handle(PetUploadImageParams, interface{}) middleware.Responder 25 } 26 27 // NewPetUploadImage creates a new http.Handler for the pet upload image operation 28 func NewPetUploadImage(ctx *middleware.Context, handler PetUploadImageHandler) *PetUploadImage { 29 return &PetUploadImage{Context: ctx, Handler: handler} 30 } 31 32 /* PetUploadImage swagger:route POST /pet/{petId}/image pet petUploadImage 33 34 uploads an image 35 36 */ 37 type PetUploadImage struct { 38 Context *middleware.Context 39 Handler PetUploadImageHandler 40 } 41 42 func (o *PetUploadImage) 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 = NewPetUploadImageParams() 48 uprinc, aCtx, err := o.Context.Authorize(r, route) 49 if err != nil { 50 o.Context.Respond(rw, r, route.Produces, route, err) 51 return 52 } 53 if aCtx != nil { 54 *r = *aCtx 55 } 56 var principal interface{} 57 if uprinc != nil { 58 principal = uprinc.(interface{}) // this is really a interface{}, I promise 59 } 60 61 if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params 62 o.Context.Respond(rw, r, route.Produces, route, err) 63 return 64 } 65 66 res := o.Handler.Handle(Params, principal) // actually handle the request 67 o.Context.Respond(rw, r, route.Produces, route, res) 68 69 }