github.com/thetreep/go-swagger@v0.0.0-20240223100711-35af64f14f01/examples/generated/restapi/operations/pet/get_pet_by_id.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/go-openapi/runtime/middleware" 12 ) 13 14 // GetPetByIDHandlerFunc turns a function with the right signature into a get pet by Id handler 15 type GetPetByIDHandlerFunc func(GetPetByIDParams, interface{}) middleware.Responder 16 17 // Handle executing the request and returning a response 18 func (fn GetPetByIDHandlerFunc) Handle(params GetPetByIDParams, principal interface{}) middleware.Responder { 19 return fn(params, principal) 20 } 21 22 // GetPetByIDHandler interface for that can handle valid get pet by Id params 23 type GetPetByIDHandler interface { 24 Handle(GetPetByIDParams, interface{}) middleware.Responder 25 } 26 27 // NewGetPetByID creates a new http.Handler for the get pet by Id operation 28 func NewGetPetByID(ctx *middleware.Context, handler GetPetByIDHandler) *GetPetByID { 29 return &GetPetByID{Context: ctx, Handler: handler} 30 } 31 32 /* 33 GetPetByID swagger:route GET /pets/{petId} pet getPetById 34 35 # Find pet by ID 36 37 Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions 38 */ 39 type GetPetByID struct { 40 Context *middleware.Context 41 Handler GetPetByIDHandler 42 } 43 44 func (o *GetPetByID) 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 = NewGetPetByIDParams() 50 uprinc, aCtx, err := o.Context.Authorize(r, route) 51 if err != nil { 52 o.Context.Respond(rw, r, route.Produces, route, err) 53 return 54 } 55 if aCtx != nil { 56 *r = *aCtx 57 } 58 var principal interface{} 59 if uprinc != nil { 60 principal = uprinc.(interface{}) // this is really a interface{}, I promise 61 } 62 63 if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params 64 o.Context.Respond(rw, r, route.Produces, route, err) 65 return 66 } 67 68 res := o.Handler.Handle(Params, principal) // actually handle the request 69 o.Context.Respond(rw, r, route.Produces, route, res) 70 71 }