Documentation
¶
Index ¶
- Constants
- Variables
- func BadRequestResponse(w http.ResponseWriter, r *http.Request, err error)
- func ConflictResponse(w http.ResponseWriter, r *http.Request, err error, resourceName string, ...)
- func ErrorResponse(w http.ResponseWriter, _ *http.Request, status int, message any)
- func FailedValidationResponse(w http.ResponseWriter, r *http.Request, errors map[string]string)
- func ForbiddenResponse(w http.ResponseWriter, r *http.Request)
- func NotFoundResponse(w http.ResponseWriter, r *http.Request, err error, resourceName string, ...)
- func RateLimitExceededResponse(w http.ResponseWriter, r *http.Request)
- func ReadJSON(body io.Reader, dst any) error
- func Serve(port int, handler http.Handler, environment string) error
- func ServerErrorResponse(w http.ResponseWriter, r *http.Request, err error)
- func UnauthorizedResponse(w http.ResponseWriter, r *http.Request, message string)
- func WSErrorResponse(w http.ResponseWriter, r *http.Request, conn *websocket.Conn, ...)
- func WSUpgradeErrorResponse(w http.ResponseWriter, r *http.Request, err error)
- func WriteCSV(w http.ResponseWriter, filename string, data [][]string) error
- func WriteJSON(w http.ResponseWriter, status int, data any, headers http.Header) error
- type ErrorDto
- type ISubjectMessageDto
- type OnCloseCallback
- type ResponseWriter
- type WebsocketHandler
Constants ¶
View Source
const ( MessageInternalServerError = "the server encountered a problem and could not process your request" MessageTooManyRequests = "rate limit exceeded" MessageForbidden = "user has no access to this resource" )
Variables ¶
View Source
var ( ErrRecordNotFound = errors.New("record not found") ErrRecordUniqueValue = errors.New("record unique value already used") )
Functions ¶
func BadRequestResponse ¶
func BadRequestResponse(w http.ResponseWriter, r *http.Request, err error)
func ConflictResponse ¶
func ErrorResponse ¶
func ForbiddenResponse ¶
func ForbiddenResponse(w http.ResponseWriter, r *http.Request)
func NotFoundResponse ¶
func RateLimitExceededResponse ¶
func RateLimitExceededResponse(w http.ResponseWriter, r *http.Request)
func ServerErrorResponse ¶
func ServerErrorResponse(w http.ResponseWriter, r *http.Request, err error)
func UnauthorizedResponse ¶
func UnauthorizedResponse(w http.ResponseWriter, r *http.Request, message string)
func WSErrorResponse ¶
func WSUpgradeErrorResponse ¶
func WSUpgradeErrorResponse(w http.ResponseWriter, r *http.Request, err error)
Types ¶
type ISubjectMessageDto ¶
type ISubjectMessageDto interface {
validate.IValidatedType
GetSubject() string
}
type OnCloseCallback ¶
type ResponseWriter ¶
type ResponseWriter struct {
http.ResponseWriter
// contains filtered or unexported fields
}
func NewResponseWriter ¶
func NewResponseWriter(w http.ResponseWriter) *ResponseWriter
func (*ResponseWriter) Hijack ¶
func (w *ResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error)
func (ResponseWriter) StatusCode ¶
func (w ResponseWriter) StatusCode() int
func (*ResponseWriter) WriteHeader ¶
func (w *ResponseWriter) WriteHeader(statusCode int)
type WebsocketHandler ¶
type WebsocketHandler[T ISubjectMessageDto] struct { // contains filtered or unexported fields }
func CreateWebsocketHandler ¶
func CreateWebsocketHandler[T ISubjectMessageDto](url string) WebsocketHandler[T]
func (*WebsocketHandler[T]) AddSubjectHandler ¶
func (h *WebsocketHandler[T]) AddSubjectHandler( subject string, handler func( w http.ResponseWriter, r *http.Request, conn *websocket.Conn, msg T, ), )
func (WebsocketHandler[T]) GetHandler ¶
func (h WebsocketHandler[T]) GetHandler() http.HandlerFunc
func (*WebsocketHandler[T]) SetOnCloseCallback ¶
func (h *WebsocketHandler[T]) SetOnCloseCallback(callback OnCloseCallback)
Click to show internal directories.
Click to hide internal directories.