github.com/go-swagger/go-swagger@v0.31.0/examples/task-tracker/restapi/operations/tasks/update_task.go (about) 1 // Code generated by go-swagger; DO NOT EDIT. 2 3 package tasks 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 // UpdateTaskHandlerFunc turns a function with the right signature into a update task handler 15 type UpdateTaskHandlerFunc func(UpdateTaskParams, interface{}) middleware.Responder 16 17 // Handle executing the request and returning a response 18 func (fn UpdateTaskHandlerFunc) Handle(params UpdateTaskParams, principal interface{}) middleware.Responder { 19 return fn(params, principal) 20 } 21 22 // UpdateTaskHandler interface for that can handle valid update task params 23 type UpdateTaskHandler interface { 24 Handle(UpdateTaskParams, interface{}) middleware.Responder 25 } 26 27 // NewUpdateTask creates a new http.Handler for the update task operation 28 func NewUpdateTask(ctx *middleware.Context, handler UpdateTaskHandler) *UpdateTask { 29 return &UpdateTask{Context: ctx, Handler: handler} 30 } 31 32 /* 33 UpdateTask swagger:route PUT /tasks/{id} tasks updateTask 34 35 Updates the details for a task. 36 37 Allows for updating a task. 38 This operation requires authentication so that we know which user 39 last updated the task. 40 */ 41 type UpdateTask struct { 42 Context *middleware.Context 43 Handler UpdateTaskHandler 44 } 45 46 func (o *UpdateTask) 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 = NewUpdateTaskParams() 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 interface{} 61 if uprinc != nil { 62 principal = uprinc.(interface{}) // this is really a interface{}, 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 }