github.com/thetreep/go-swagger@v0.0.0-20240223100711-35af64f14f01/examples/composed-auth/restapi/operations/get_account.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/go-openapi/runtime/middleware" 12 13 "github.com/thetreep/go-swagger/examples/composed-auth/models" 14 ) 15 16 // GetAccountHandlerFunc turns a function with the right signature into a get account handler 17 type GetAccountHandlerFunc func(GetAccountParams, *models.Principal) middleware.Responder 18 19 // Handle executing the request and returning a response 20 func (fn GetAccountHandlerFunc) Handle(params GetAccountParams, principal *models.Principal) middleware.Responder { 21 return fn(params, principal) 22 } 23 24 // GetAccountHandler interface for that can handle valid get account params 25 type GetAccountHandler interface { 26 Handle(GetAccountParams, *models.Principal) middleware.Responder 27 } 28 29 // NewGetAccount creates a new http.Handler for the get account operation 30 func NewGetAccount(ctx *middleware.Context, handler GetAccountHandler) *GetAccount { 31 return &GetAccount{Context: ctx, Handler: handler} 32 } 33 34 /* 35 GetAccount swagger:route GET /account getAccount 36 37 registered user account 38 39 Every registered user should be able to access this operation 40 */ 41 type GetAccount struct { 42 Context *middleware.Context 43 Handler GetAccountHandler 44 } 45 46 func (o *GetAccount) ServeHTTP(rw http.ResponseWriter, r *http.Request) { 47 route, rCtx, _ := o.Context.RouteInfo(r) 48 if rCtx != nil { 49 *r = *rCtx 50 } 51 var Params = NewGetAccountParams() 52 uprinc, aCtx, err := o.Context.Authorize(r, route) 53 if err != nil { 54 o.Context.Respond(rw, r, route.Produces, route, err) 55 return 56 } 57 if aCtx != nil { 58 *r = *aCtx 59 } 60 var principal *models.Principal 61 if uprinc != nil { 62 principal = uprinc.(*models.Principal) // this is really a models.Principal, I promise 63 } 64 65 if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params 66 o.Context.Respond(rw, r, route.Produces, route, err) 67 return 68 } 69 70 res := o.Handler.Handle(Params, principal) // actually handle the request 71 o.Context.Respond(rw, r, route.Produces, route, res) 72 73 }