Documentation
¶
Index ¶
- Constants
- func DeclareHandler(r *Router, method, pattern string, handler Handler, middlewares ...Middleware)
- func NewTraceID(r *http.Request) string
- type Context
- func (ctx *Context) AccessDenied() error
- func (ctx *Context) BadRequest(msg string, args ...any) error
- func (ctx *Context) CacheDisable()
- func (ctx *Context) CacheEnable(public bool, maxAge time.Duration)
- func (ctx *Context) ClientContext() context.Context
- func (ctx *Context) FormParam(name string) string
- func (ctx *Context) GetRequestHeader(name string) string
- func (ctx *Context) HeadersSent() bool
- func (ctx *Context) Logger() *slog.Logger
- func (ctx *Context) Method() string
- func (ctx *Context) ParseRequestJSON(dest any) error
- func (ctx *Context) Path() string
- func (ctx *Context) PathParam(name string) string
- func (ctx *Context) Redirect(statusCode int, url string) error
- func (ctx *Context) Request() *http.Request
- func (ctx *Context) RespondJSON(statusCode int, obj any) error
- func (ctx *Context) RespondNoContent() error
- func (ctx *Context) RespondText(statusCode int, msg string) error
- func (ctx *Context) ResponseSize() int64
- func (ctx *Context) SetResponseHeader(name, value string)
- func (ctx *Context) StartTime() time.Time
- func (ctx *Context) StatusCode() int
- func (ctx *Context) Stream(step func(send func(name, value string), flush func()) bool) bool
- func (ctx *Context) TraceID() string
- func (ctx *Context) Unauthorized() error
- func (ctx *Context) UserAgent() string
- func (ctx *Context) UserIP() string
- type CorsOptions
- type Group
- func (g *Group) ANY(pattern string, handler Handler, middlewares ...Middleware)
- func (g *Group) DELETE(pattern string, handler Handler, middlewares ...Middleware)
- func (g *Group) DeclareHandler(method, pattern string, handler Handler, middlewares ...Middleware)
- func (g *Group) GET(pattern string, handler Handler, middlewares ...Middleware)
- func (g *Group) Group(patternPrefix string) *Group
- func (g *Group) HEAD(pattern string, handler Handler, middlewares ...Middleware)
- func (g *Group) OPTIONS(pattern string, handler Handler, middlewares ...Middleware)
- func (g *Group) PATCH(pattern string, handler Handler, middlewares ...Middleware)
- func (g *Group) POST(pattern string, handler Handler, middlewares ...Middleware)
- func (g *Group) PUT(pattern string, handler Handler, middlewares ...Middleware)
- func (g *Group) Use(middleware ...Middleware)
- type Handler
- type LogFunc
- type Middleware
- type ProtectedFS
- type ResponseWrapper
- type Router
- func (r *Router) ANY(pattern string, handler Handler, middlewares ...Middleware)
- func (r *Router) DELETE(pattern string, handler Handler, middlewares ...Middleware)
- func (r *Router) GET(pattern string, handler Handler, middlewares ...Middleware)
- func (r *Router) Group(patternPrefix string) *Group
- func (r *Router) HEAD(pattern string, handler Handler, middlewares ...Middleware)
- func (r *Router) OPTIONS(pattern string, handler Handler, middlewares ...Middleware)
- func (r *Router) PATCH(pattern string, handler Handler, middlewares ...Middleware)
- func (r *Router) POST(pattern string, handler Handler, middlewares ...Middleware)
- func (r *Router) PUT(pattern string, handler Handler, middlewares ...Middleware)
- func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request)
- func (r *Router) Use(middleware ...Middleware)
- type SetOpt
Constants ¶
View Source
const TraceIDHeader = "X-Trace-Id"
Variables ¶
This section is empty.
Functions ¶
func DeclareHandler ¶ added in v0.7.0
func DeclareHandler(r *Router, method, pattern string, handler Handler, middlewares ...Middleware)
Patterns can match the method, host and path of a request. Some examples:
"/index.html" matches the path "/index.html" for any host and method.
"GET /static/" matches a GET request whose path begins with "/static/".
"example.com/" matches any request to the host "example.com".
"example.com/{$}" matches requests with host "example.com" and path "/".
"/b/{bucket}/o/{objectname...}" matches paths whose first segment is "b" and whose third segment is "o".
func NewTraceID ¶ added in v0.7.0
Types ¶
type Context ¶ added in v0.7.0
type Context struct {
// contains filtered or unexported fields
}
func NewContext ¶ added in v0.7.0
func (*Context) AccessDenied ¶ added in v0.7.2
func (*Context) BadRequest ¶ added in v0.7.4
func (*Context) CacheDisable ¶ added in v0.7.2
func (ctx *Context) CacheDisable()
func (*Context) CacheEnable ¶ added in v0.7.2
func (*Context) ClientContext ¶ added in v0.7.0
func (*Context) GetRequestHeader ¶ added in v0.7.0
func (*Context) HeadersSent ¶ added in v0.7.0
func (*Context) ParseRequestJSON ¶ added in v0.7.0
func (*Context) RespondJSON ¶ added in v0.7.0
func (*Context) RespondNoContent ¶ added in v0.7.0
func (*Context) RespondText ¶ added in v0.7.0
func (*Context) ResponseSize ¶ added in v0.7.0
func (*Context) SetResponseHeader ¶ added in v0.7.0
func (*Context) StatusCode ¶ added in v0.7.0
func (*Context) Stream ¶ added in v0.7.0
Stream returns TRUE if client gone, FALSE if server breaks stream.
func (*Context) Unauthorized ¶ added in v0.7.6
type CorsOptions ¶ added in v0.7.0
type Group ¶
type Group struct {
// contains filtered or unexported fields
}
func NewGroup ¶ added in v0.7.0
func NewGroup(r *Router, patternPrefix string, middleware ...Middleware) *Group
func (*Group) DELETE ¶
func (g *Group) DELETE(pattern string, handler Handler, middlewares ...Middleware)
func (*Group) DeclareHandler ¶ added in v0.7.0
func (g *Group) DeclareHandler(method, pattern string, handler Handler, middlewares ...Middleware)
func (*Group) HEAD ¶ added in v0.7.0
func (g *Group) HEAD(pattern string, handler Handler, middlewares ...Middleware)
func (*Group) OPTIONS ¶ added in v0.7.0
func (g *Group) OPTIONS(pattern string, handler Handler, middlewares ...Middleware)
func (*Group) PATCH ¶
func (g *Group) PATCH(pattern string, handler Handler, middlewares ...Middleware)
func (*Group) POST ¶
func (g *Group) POST(pattern string, handler Handler, middlewares ...Middleware)
func (*Group) Use ¶ added in v0.7.0
func (g *Group) Use(middleware ...Middleware)
type Handler ¶
Handler returns an error only in unexpected behaviors (this error will be sent as internal server error with status 500)
func AddSecurityHeadersMiddleware ¶ added in v0.7.0
func RecoverMiddleware ¶ added in v0.7.0
func ServeDir ¶ added in v0.0.3
ServeDir servers dir files dynamically based on request URL path:
file_to_serve = dir_path + url_path
file_to_serve = dir_path + StripPrefix(url_path, prefix)
Route("/", httpx.ServeDir("/data/static"))
GET /1.html --> 200 OK /data/static/1.html
GET /2.html --> 200 OK /data/static/2.html
Route("/data/static", httpx.ServeDir("/data/static"))
GET /data/static/1.html --> 404 Not Found /data/static/data/static/1.html
GET /data/static/2.html --> 404 Not Found /data/static/data/static/2.html
r.Route("/static", httpx.ServeDir("/data/static"), middleware.StripPrefix("/static"))
GET /static/1.html --> 200 OK /data/static/1.html
GET /static/2.html --> 200 OK /data/static/2.html
func SlashRedirectMiddleware ¶ added in v0.7.0
type Middleware ¶
func BasicAuthMiddleware ¶ added in v0.7.11
func BasicAuthMiddleware(users map[string]string) Middleware
func CorsMiddleware ¶ added in v0.7.0
func CorsMiddleware(options CorsOptions) Middleware
func HealthcheckMiddleware ¶ added in v0.7.0
func HealthcheckMiddleware(path string) Middleware
type ProtectedFS ¶ added in v0.0.3
type ProtectedFS struct {
// contains filtered or unexported fields
}
type ResponseWrapper ¶ added in v0.7.0
type ResponseWrapper struct {
http.ResponseWriter
// contains filtered or unexported fields
}
func NewResponseWrapper ¶ added in v0.7.0
func NewResponseWrapper(w http.ResponseWriter) *ResponseWrapper
func (*ResponseWrapper) Flusher ¶ added in v0.7.0
func (ww *ResponseWrapper) Flusher() http.Flusher
func (*ResponseWrapper) Header ¶ added in v0.7.0
func (ww *ResponseWrapper) Header() http.Header
func (*ResponseWrapper) Size ¶ added in v0.7.0
func (ww *ResponseWrapper) Size() int64
func (*ResponseWrapper) Status ¶ added in v0.7.0
func (ww *ResponseWrapper) Status() int
func (*ResponseWrapper) Write ¶ added in v0.7.0
func (ww *ResponseWrapper) Write(p []byte) (int, error)
func (*ResponseWrapper) WriteHeader ¶ added in v0.7.0
func (ww *ResponseWrapper) WriteHeader(statusCode int)
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
func (*Router) ANY ¶
func (r *Router) ANY(pattern string, handler Handler, middlewares ...Middleware)
func (*Router) DELETE ¶
func (r *Router) DELETE(pattern string, handler Handler, middlewares ...Middleware)
func (*Router) GET ¶
func (r *Router) GET(pattern string, handler Handler, middlewares ...Middleware)
func (*Router) HEAD ¶ added in v0.7.0
func (r *Router) HEAD(pattern string, handler Handler, middlewares ...Middleware)
func (*Router) OPTIONS ¶ added in v0.7.0
func (r *Router) OPTIONS(pattern string, handler Handler, middlewares ...Middleware)
func (*Router) PATCH ¶
func (r *Router) PATCH(pattern string, handler Handler, middlewares ...Middleware)
func (*Router) POST ¶
func (r *Router) POST(pattern string, handler Handler, middlewares ...Middleware)
func (*Router) PUT ¶
func (r *Router) PUT(pattern string, handler Handler, middlewares ...Middleware)
func (*Router) Use ¶
func (r *Router) Use(middleware ...Middleware)
type SetOpt ¶ added in v0.7.0
type SetOpt func(r *Router)
func WithLogAfterResponse ¶ added in v0.7.0
func WithLogBeforeRequest ¶ added in v0.7.0
func WithSlashRedirection ¶ added in v0.7.0
WithSlashRedirection redirects to url without trailing slashes if shouldRedirect is true
Source Files
¶
Click to show internal directories.
Click to hide internal directories.