Documentation ¶
Index ¶
- Variables
- func WriteErrorResponse(w http.ResponseWriter, errorResponse ErrorInterface)
- func WriteResponse(w http.ResponseWriter, data interface{}, metadata *Metadata, statusCode ...int)
- type ContextKey
- type Error
- type ErrorInterface
- type Metadata
- type PaginationParams
- type Server
- type ValidationErrors
- type ValidationFieldError
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrorGenericError = NewError("Something expected went wrong.", "GENERIC_ERROR", http.StatusInternalServerError) ErrorInvalidAuthToken = NewError("Your request has an invalid authorization token.", "AUTH_TOKEN_INVALID", http.StatusUnauthorized) ErrorMissingAuthToken = NewError("Your request is missing an authorization token.", "AUTH_TOKEN_MISSING", http.StatusUnauthorized) ErrorNotFound = NewError("The entity you requested was not found.", "NOT_FOUND", http.StatusNotFound) ErrorValidationErrors = NewError("Your request has some validation errors.", "VALIDATION_ERRORS", http.StatusBadRequest) )
Functions ¶
func WriteErrorResponse ¶
func WriteErrorResponse(w http.ResponseWriter, errorResponse ErrorInterface)
func WriteResponse ¶
func WriteResponse(w http.ResponseWriter, data interface{}, metadata *Metadata, statusCode ...int)
Types ¶
type Error ¶
type Error struct { Message string `json:"message"` Status int `json:"status"` Type string `json:"type"` }
func (Error) GetMessage ¶
type ErrorInterface ¶
type Metadata ¶
type Metadata struct { Limit int `json:"limit"` Offset int `json:"offset"` Total int `json:"total"` }
func NewMetadata ¶
func NewMetadata(total int, params *PaginationParams) *Metadata
type PaginationParams ¶
type ValidationErrors ¶
type ValidationErrors struct { Fields []ValidationFieldError `json:"fields"` *Error }
func NewValidationErrors ¶
func NewValidationErrors(fields []ValidationFieldError) *ValidationErrors
type ValidationFieldError ¶
type ValidationFieldError struct { Field string `json:"field"` Fields []ValidationFieldError `json:"fields,omitempty"` Message string `json:"message"` }
Click to show internal directories.
Click to hide internal directories.