Documentation ¶
Index ¶
- Constants
- Variables
- func Serve(handle Endpoint, middlewares ...Middleware) httprouter.Handle
- func WriteJsonResponse(w http.ResponseWriter, resp Response)
- type ApiVersion
- type Endpoint
- type Error
- type Handle
- type Middleware
- type Request
- func (r *Request) Bind(v interface{}) error
- func (r *Request) GetPathParam(key string) string
- func (r *Request) GetPathParams() map[string]string
- func (r *Request) GetRequestIP() string
- func (r *Request) GetRoute() string
- func (r *Request) Headers() map[string]interface{}
- func (r *Request) MaskedHeaders() http.Header
- func (r *Request) ParseAndValidateBody(s interface{}) error
- func (r *Request) ParseAndValidateParams(s interface{}, structValidations ...validator.StructLevelFunc) error
- func (r *Request) QueryParam(key string) string
- func (r *Request) QueryParamExists(keys ...string) bool
- func (r *Request) QueryParams() map[string]string
- func (r *Request) ReadBody() (map[string]interface{}, error)
- func (r *Request) SetPathParam(key, value string)
- type Response
- type ValidationError
- type ValidationErrorInterface
Constants ¶
View Source
const ( BadRequest = "bad_request" Forbidden = "forbidden" InternalServerError = "internal_server_error" )
View Source
const ( StatusOK = 200 StatusBadRequest = 400 StatusNotFound = 404 StatusInternalServerError = 500 )
Variables ¶
View Source
var ( ErrUnauthenticatedRequest = func(desc string, version ApiVersion) Error { return NewError(UnauthorizedRequest, desc, http.StatusUnauthorized, version) } return NewError(UnauthorizedRequest, desc, http.StatusForbidden, version) } ErrForbiddenRequest = func(desc string, version ApiVersion) Error { return NewError(Forbidden, desc, http.StatusForbidden, version) } ErrBadRequest = func(desc string, version ApiVersion) Error { return NewError(BadRequest, desc, http.StatusBadRequest, version) } ErrInternalServerError = func(desc string, version ApiVersion) Error { return NewError(InternalServerError, desc, http.StatusInternalServerError, version) } )
View Source
var ( UnexpectedErr = "Unexpected" ErrInvalidType = func(field string, expectedType interface{}, err error) ValidationErrorInterface { return &ValidationError{ errorType: "InvalidType", message: fmt.Sprintf("InvalidType for field: %s. Expected: %s", field, expectedType), err: err, } } ErrInvalidJson = func(err error) ValidationErrorInterface { return &ValidationError{ errorType: "InvalidJson", message: fmt.Sprintf("InvalidJson: %s", err.Error()), err: err, } } ErrInvalidValue = func(message string, err error) ValidationErrorInterface { if message == "" { message = err.Error() } return &ValidationError{ errorType: "InvalidValue", message: fmt.Sprintf("InvalidValue: %s", message), err: err, } } )
Functions ¶
func Serve ¶ added in v0.1.4
func Serve(handle Endpoint, middlewares ...Middleware) httprouter.Handle
func WriteJsonResponse ¶
func WriteJsonResponse(w http.ResponseWriter, resp Response)
Types ¶
type Error ¶
type Error struct { Error errorDetail `json:"error"` Success bool `json:"success"` Version ApiVersion `json:"version"` // contains filtered or unexported fields }
func (Error) HttpStatus ¶
type Handle ¶ added in v0.1.4
type Handle func(Endpoint, ...Middleware) httprouter.Handle
type Middleware ¶
type Middleware func(httprouter.Handle) httprouter.Handle
type Request ¶
func NewRequest ¶
func (*Request) GetPathParam ¶
func (*Request) GetPathParams ¶
func (*Request) GetRequestIP ¶
func (*Request) MaskedHeaders ¶
MaskedHeaders returns a request headers with masked values read from an array
func (*Request) ParseAndValidateBody ¶
func (*Request) ParseAndValidateParams ¶ added in v0.1.5
func (*Request) QueryParam ¶
func (*Request) QueryParamExists ¶
func (*Request) QueryParams ¶
func (*Request) SetPathParam ¶
type Response ¶
type Response interface { HttpStatus() int Payload() interface{} }
func NewResponse ¶
func NewResponse(data interface{}, success bool, status int, version ApiVersion) Response
func NewSuccessResponse ¶
func NewSuccessResponse(data interface{}, status int, version ApiVersion) Response
type ValidationError ¶
type ValidationError struct {
// contains filtered or unexported fields
}
func (*ValidationError) Error ¶
func (e *ValidationError) Error() string
func (*ValidationError) IsUnexpectedErr ¶
func (e *ValidationError) IsUnexpectedErr() bool
func (*ValidationError) Type ¶
func (e *ValidationError) Type() string
func (*ValidationError) Unwrap ¶
func (e *ValidationError) Unwrap() error
Source Files ¶
Click to show internal directories.
Click to hide internal directories.