github.com/emreu/go-swagger@v0.22.1/examples/task-tracker/restapi/operations/tasks/create_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 middleware "github.com/go-openapi/runtime/middleware" 12 ) 13 14 // CreateTaskHandlerFunc turns a function with the right signature into a create task handler 15 type CreateTaskHandlerFunc func(CreateTaskParams, interface{}) middleware.Responder 16 17 // Handle executing the request and returning a response 18 func (fn CreateTaskHandlerFunc) Handle(params CreateTaskParams, principal interface{}) middleware.Responder { 19 return fn(params, principal) 20 } 21 22 // CreateTaskHandler interface for that can handle valid create task params 23 type CreateTaskHandler interface { 24 Handle(CreateTaskParams, interface{}) middleware.Responder 25 } 26 27 // NewCreateTask creates a new http.Handler for the create task operation 28 func NewCreateTask(ctx *middleware.Context, handler CreateTaskHandler) *CreateTask { 29 return &CreateTask{Context: ctx, Handler: handler} 30 } 31 32 /*CreateTask swagger:route POST /tasks tasks createTask 33 34 Creates a 'Task' object. 35 36 Allows for creating a task. 37 This operation requires authentication so that we know which user 38 created the task. 39 40 41 */ 42 type CreateTask struct { 43 Context *middleware.Context 44 Handler CreateTaskHandler 45 } 46 47 func (o *CreateTask) ServeHTTP(rw http.ResponseWriter, r *http.Request) { 48 route, rCtx, _ := o.Context.RouteInfo(r) 49 if rCtx != nil { 50 r = rCtx 51 } 52 var Params = NewCreateTaskParams() 53 54 uprinc, aCtx, err := o.Context.Authorize(r, route) 55 if err != nil { 56 o.Context.Respond(rw, r, route.Produces, route, err) 57 return 58 } 59 if aCtx != nil { 60 r = aCtx 61 } 62 var principal interface{} 63 if uprinc != nil { 64 principal = uprinc 65 } 66 67 if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params 68 o.Context.Respond(rw, r, route.Produces, route, err) 69 return 70 } 71 72 res := o.Handler.Handle(Params, principal) // actually handle the request 73 74 o.Context.Respond(rw, r, route.Produces, route, res) 75 76 }