Documentation ¶
Index ¶
- Constants
- func DefaultHttpErrorOverrideFunc(err *mrerr.AppError) (int, *mrerr.AppError)
- func MiddlewareGeneral(tr *mrlang.Translator, ...) func(next http.Handler) http.Handler
- func MiddlewareHandlerAdapter(s ErrorResponseSender) func(next HttpHandlerFunc) http.HandlerFunc
- func MiddlewareHandlerCheckAccess(handlerName string, access mrperms.AccessControl, privilege, permission string) func(next HttpHandlerFunc) HttpHandlerFunc
- func MiddlewareHandlerIdempotency(provider mridempotency.Provider, sender ResponseSender) func(next HttpHandlerFunc) HttpHandlerFunc
- func MiddlewareRecoverHandler(isDebug bool, fatalFunc http.HandlerFunc) func(next http.Handler) http.Handler
- func PrepareAppToStart(ctx context.Context) (execute func() error, interrupt func(error))
- type CacheableResponseWriter
- type ErrorResponseSender
- type FileResponseSender
- type HttpController
- type HttpErrorOverrideFunc
- type HttpHandler
- type HttpHandlerFunc
- type HttpRouter
- type ListenOptions
- type RequestDecoder
- type RequestParserBool
- type RequestParserDateTime
- type RequestParserFile
- type RequestParserImage
- type RequestParserInt64
- type RequestParserItemStatus
- type RequestParserKeyInt32
- type RequestParserListPager
- type RequestParserListSorter
- type RequestParserParamFunc
- type RequestParserString
- type RequestParserUUID
- type RequestParserValidate
- type ResponseEncoder
- type ResponseSender
- type ServerAdapter
- type ServerOptions
- type StatRequest
- type StatResponseWriter
Constants ¶
View Source
const ( ListenTypeSock = "sock" ListenTypePort = "port" )
View Source
const (
VarRestOfURL = "{restOfUrl}"
)
Variables ¶
This section is empty.
Functions ¶
func DefaultHttpErrorOverrideFunc ¶ added in v0.10.0
DefaultHttpErrorOverrideFunc - only for: 401, 403, 404, 418, 5XX
func MiddlewareGeneral ¶ added in v0.13.0
func MiddlewareGeneral( tr *mrlang.Translator, statFunc func(l mrlog.Logger, start time.Time, sr *StatRequest, sw *StatResponseWriter), ) func(next http.Handler) http.Handler
func MiddlewareHandlerAdapter ¶ added in v0.16.0
func MiddlewareHandlerAdapter(s ErrorResponseSender) func(next HttpHandlerFunc) http.HandlerFunc
func MiddlewareHandlerCheckAccess ¶ added in v0.16.0
func MiddlewareHandlerCheckAccess(handlerName string, access mrperms.AccessControl, privilege, permission string) func(next HttpHandlerFunc) HttpHandlerFunc
func MiddlewareHandlerIdempotency ¶ added in v0.16.0
func MiddlewareHandlerIdempotency(provider mridempotency.Provider, sender ResponseSender) func(next HttpHandlerFunc) HttpHandlerFunc
func MiddlewareRecoverHandler ¶ added in v0.17.0
Types ¶
type CacheableResponseWriter ¶ added in v0.14.0
type CacheableResponseWriter struct { http.ResponseWriter // contains filtered or unexported fields }
func NewCacheableResponseWriter ¶ added in v0.14.0
func NewCacheableResponseWriter(w http.ResponseWriter) *CacheableResponseWriter
func (*CacheableResponseWriter) Body ¶ added in v0.14.0
func (w *CacheableResponseWriter) Body() []byte
func (*CacheableResponseWriter) StatusCode ¶ added in v0.14.0
func (w *CacheableResponseWriter) StatusCode() int
func (*CacheableResponseWriter) Write ¶ added in v0.14.0
func (w *CacheableResponseWriter) Write(buf []byte) (int, error)
func (*CacheableResponseWriter) WriteHeader ¶ added in v0.14.0
func (w *CacheableResponseWriter) WriteHeader(statusCode int)
type ErrorResponseSender ¶ added in v0.10.0
type ErrorResponseSender interface {
SendError(w http.ResponseWriter, r *http.Request, err error)
}
type FileResponseSender ¶ added in v0.10.0
type FileResponseSender interface { ResponseSender SendFile(ctx context.Context, w http.ResponseWriter, file mrtype.File) error SendAttachmentFile(ctx context.Context, w http.ResponseWriter, file mrtype.File) error }
type HttpController ¶ added in v0.10.0
type HttpController interface {
Handlers() []HttpHandler
}
type HttpErrorOverrideFunc ¶ added in v0.10.0
type HttpHandler ¶ added in v0.10.0
type HttpHandler struct { Method string URL string Permission string Func HttpHandlerFunc }
type HttpHandlerFunc ¶ added in v0.10.0
type HttpHandlerFunc func(w http.ResponseWriter, r *http.Request) error
type HttpRouter ¶ added in v0.10.0
type HttpRouter interface { RegisterMiddleware(handlers ...func(next http.Handler) http.Handler) Register(controllers ...HttpController) HandlerFunc(method, path string, handler http.HandlerFunc) ServeHTTP(w http.ResponseWriter, r *http.Request) }
type ListenOptions ¶
type RequestDecoder ¶ added in v0.10.0
type RequestParserBool ¶ added in v0.12.0
type RequestParserDateTime ¶ added in v0.12.0
type RequestParserFile ¶ added in v0.12.0
type RequestParserImage ¶ added in v0.12.0
type RequestParserInt64 ¶ added in v0.12.0
type RequestParserItemStatus ¶ added in v0.10.0
type RequestParserItemStatus interface {
FilterStatusList(r *http.Request, key string) []mrenum.ItemStatus
}
type RequestParserKeyInt32 ¶ added in v0.10.0
type RequestParserListPager ¶ added in v0.14.0
type RequestParserListPager interface {
PageParams(r *http.Request) mrtype.PageParams
}
type RequestParserListSorter ¶ added in v0.14.0
type RequestParserListSorter interface {
SortParams(r *http.Request, sorter mrview.ListSorter) mrtype.SortParams
}
type RequestParserParamFunc ¶ added in v0.12.0
type RequestParserString ¶ added in v0.12.0
type RequestParserUUID ¶ added in v0.10.0
type RequestParserValidate ¶ added in v0.10.0
type ResponseEncoder ¶ added in v0.10.0
type ResponseSender ¶ added in v0.10.0
type ResponseSender interface { Send(w http.ResponseWriter, status int, structure any) error SendBytes(w http.ResponseWriter, status int, body []byte) error SendNoContent(w http.ResponseWriter) error }
type ServerAdapter ¶ added in v0.5.1
type ServerAdapter struct {
// contains filtered or unexported fields
}
func NewServerAdapter ¶ added in v0.13.0
func NewServerAdapter(ctx context.Context, opts ServerOptions) *ServerAdapter
func (*ServerAdapter) PrepareToStart ¶ added in v0.13.0
func (s *ServerAdapter) PrepareToStart(ctx context.Context) (execute func() error, interrupt func(error))
type ServerOptions ¶
type StatRequest ¶ added in v0.17.0
type StatRequest struct {
// contains filtered or unexported fields
}
func NewStatRequest ¶ added in v0.17.0
func NewStatRequest(r *http.Request) *StatRequest
NewStatRequest - WARNING: the Body of the original http.Request will be replaced
func (*StatRequest) Bytes ¶ added in v0.17.0
func (r *StatRequest) Bytes() int
func (*StatRequest) Request ¶ added in v0.17.0
func (r *StatRequest) Request() *http.Request
type StatResponseWriter ¶ added in v0.13.0
type StatResponseWriter struct { http.ResponseWriter // contains filtered or unexported fields }
func NewStatResponseWriter ¶ added in v0.13.0
func NewStatResponseWriter(w http.ResponseWriter, onWrite func(buf []byte)) *StatResponseWriter
func (*StatResponseWriter) Bytes ¶ added in v0.17.0
func (w *StatResponseWriter) Bytes() int
func (*StatResponseWriter) StatusCode ¶ added in v0.17.0
func (w *StatResponseWriter) StatusCode() int
func (*StatResponseWriter) Write ¶ added in v0.13.0
func (w *StatResponseWriter) Write(buf []byte) (int, error)
func (*StatResponseWriter) WriteHeader ¶ added in v0.13.0
func (w *StatResponseWriter) WriteHeader(statusCode int)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.