/* * GoBun File Store * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * API version: 0.0.1 * Generated by: OpenAPI Generator (https://openapi-generator.tech) */ package openapi import ( "net/http" "strings" ) // DefaultApiController binds http requests to an api service and writes the service results to the http response type DefaultApiController struct { service DefaultApiServicer errorHandler ErrorHandler } // DefaultApiOption for how the controller is set up. type DefaultApiOption func(*DefaultApiController) // WithDefaultApiErrorHandler inject ErrorHandler into controller func WithDefaultApiErrorHandler(h ErrorHandler) DefaultApiOption { return func(c *DefaultApiController) { c.errorHandler = h } } // NewDefaultApiController creates a default api controller func NewDefaultApiController(s DefaultApiServicer, opts ...DefaultApiOption) Router { controller := &DefaultApiController{ service: s, errorHandler: DefaultErrorHandler, } for _, opt := range opts { opt(controller) } return controller } // Routes returns all the api routes for the DefaultApiController func (c *DefaultApiController) Routes() Routes { return Routes{ { "ListGet", strings.ToUpper("Get"), "/list", c.ListGet, }, { "RootPost", strings.ToUpper("Post"), "/", c.RootPost, }, } } // ListGet - Get the list of replay files func (c *DefaultApiController) ListGet(w http.ResponseWriter, r *http.Request) { result, err := c.service.ListGet(r.Context()) // If an error occurred, encode the error with the status code if err != nil { c.errorHandler(w, r, err, &result) return } // If no error, encode the body and the result code EncodeJSONResponse(result.Body, &result.Code, w) } // RootPost - Upload a new replay file func (c *DefaultApiController) RootPost(w http.ResponseWriter, r *http.Request) { result, err := c.service.RootPost(r.Context(), r.Body) // If an error occurred, encode the error with the status code if err != nil { c.errorHandler(w, r, err, &result) return } // If no error, encode the body and the result code EncodeJSONResponse(result.Body, &result.Code, w) }