Versions in this module Expand all Collapse all v0 v0.3.1 Jan 23, 2021 v0.3.0 Jan 10, 2021 v0.2.9 Dec 27, 2020 v0.2.8 Dec 27, 2020 v0.2.7 Dec 27, 2020 v0.2.6 Dec 27, 2020 v0.2.5 Dec 26, 2020 v0.2.4 Dec 26, 2020 v0.2.3 Dec 26, 2020 v0.2.2 Dec 26, 2020 v0.2.1 Dec 25, 2020 v0.2.0 Dec 23, 2020 v0.1.9 Dec 23, 2020 v0.1.8 Dec 23, 2020 v0.1.7 Dec 23, 2020 v0.1.6 Dec 23, 2020 v0.1.5 Dec 22, 2020 v0.1.4 Dec 22, 2020 v0.1.3 Dec 21, 2020 Changes in this version + const CONNECT + const DELETE + const FourthyEightHours + const FourthyEightHoursDuration + const GET + const HEAD + const HeaderAccept + const HeaderAcceptEncoding + const HeaderAccessControlAllowCredentials + const HeaderAccessControlAllowHeaders + const HeaderAccessControlAllowMethods + const HeaderAccessControlAllowOrigin + const HeaderAccessControlExposeHeaders + const HeaderAccessControlMaxAge + const HeaderAccessControlRequestHeaders + const HeaderAccessControlRequestMethod + const HeaderAllow + const HeaderAuthorization + const HeaderContentDisposition + const HeaderContentEncoding + const HeaderContentLength + const HeaderContentSecurityPolicy + const HeaderContentType + const HeaderCookie + const HeaderIfModifiedSince + const HeaderLastModified + const HeaderLocation + const HeaderOrigin + const HeaderServer + const HeaderSetCookie + const HeaderStrictTransportSecurity + const HeaderUpgrade + const HeaderVary + const HeaderWWWAuthenticate + const HeaderXCSRFToken + const HeaderXContentTypeOptions + const HeaderXForwardedFor + const HeaderXForwardedProto + const HeaderXForwardedProtocol + const HeaderXForwardedSsl + const HeaderXFrameOptions + const HeaderXHTTPMethodOverride + const HeaderXRealIP + const HeaderXRequestID + const HeaderXUrlScheme + const HeaderXXSSProtection + const MIMEApplicationForm + const MIMEApplicationJSON + const MIMEApplicationJSONCharsetUTF8 + const MIMEApplicationJavaScript + const MIMEApplicationJavaScriptCharsetUTF8 + const MIMEApplicationMsgpack + const MIMEApplicationProtobuf + const MIMEApplicationXML + const MIMEApplicationXMLCharsetUTF8 + const MIMEMultipartForm + const MIMEOctetStream + const MIMETextHTML + const MIMETextHTMLCharsetUTF8 + const MIMETextPlain + const MIMETextPlainCharsetUTF8 + const MIMETextXML + const MIMETextXMLCharsetUTF8 + const OPTIONS + const PATCH + const POST + const PUT + const ParamStart + const StatusAccepted + const StatusAlreadyReported + const StatusBadGateway + const StatusBadRequest + const StatusConflict + const StatusContinue + const StatusCreated + const StatusEarlyHints + const StatusExpectationFailed + const StatusFailedDependency + const StatusForbidden + const StatusFound + const StatusGatewayTimeout + const StatusGone + const StatusHTTPVersionNotSupported + const StatusIMUsed + const StatusInsufficientStorage + const StatusInternalServerError + const StatusLengthRequired + const StatusLocked + const StatusLoopDetected + const StatusMethodNotAllowed + const StatusMisdirectedRequest + const StatusMovedPermanently + const StatusMultiStatus + const StatusMultipleChoices + const StatusNetworkAuthenticationRequired + const StatusNoContent + const StatusNonAuthoritativeInfo + const StatusNotAcceptable + const StatusNotExtended + const StatusNotFound + const StatusNotImplemented + const StatusNotModified + const StatusOK + const StatusPartialContent + const StatusPaymentRequired + const StatusPermanentRedirect + const StatusPreconditionFailed + const StatusPreconditionRequired + const StatusProcessing + const StatusProxyAuthRequired + const StatusRequestEntityTooLarge + const StatusRequestHeaderFieldsTooLarge + const StatusRequestTimeout + const StatusRequestURITooLong + const StatusRequestedRangeNotSatisfiable + const StatusResetContent + const StatusSeeOther + const StatusServiceUnavailable + const StatusSwitchingProtocols + const StatusTeapot + const StatusTemporaryRedirect + const StatusTooEarly + const StatusTooManyRequests + const StatusUnauthorized + const StatusUnavailableForLegalReasons + const StatusUnprocessableEntity + const StatusUnsupportedMediaType + const StatusUpgradeRequired + const StatusUseProxy + const StatusVariantAlsoNegotiates + const TRACE + const TwentyFourHours + const TwentyFourHoursDuration + const WildcardParamStart + var Charset = "utf-8" + var DefaultKeysSorter = func(list []string) func(i, j int) bool + var JSON = &jsonProcessor + var XML = &xmlProcessor + func Bind(r *Request, b Binder, ptrOut interface{}) error + func CreateBody(jsn *njson.JSON) (bytes.Buffer, error) + func CreateError(err error, message string, code int) (bytes.Buffer, error) + func Dispatch(w http.ResponseWriter, d Dispatcher, v interface{}) error + func IsWebSocket(r *Request) bool + func Scheme(r *Request) string + func StatusText(code int) string + func TypeByExtension(ext string) (typ string) + func TypeByFilename(fullFilename string) string + type Binder interface + Bind func(*Request, interface{}) error + type BufferCloser struct + func NewBufferCloser(bw *bytes.Buffer) *BufferCloser + func (bc *BufferCloser) Close() error + type Dispatcher interface + Dispatch func(http.ResponseWriter, interface{}) error + type Handler interface + Handle func(req *Request, params sabuhp.Params) Response + var NoContentHandler Handler = HandlerFunc(func(r *Request, p sabuhp.Params) Response { ... }) + type HandlerFunc func(req *Request, params sabuhp.Params) Response + func (h HandlerFunc) Handle(req *Request, params sabuhp.Params) Response + type Host string + func (h Host) Match(r *Request) bool + type InsertOption func(*Node) + func WithData(data interface{}) InsertOption + func WithHandler(handler Handler) InsertOption + func WithTag(tag string) InsertOption + type MatchableContextHandler interface + Handle func(r *Request, params sabuhp.Params) Response + Match func(error) bool + func Matchable(err error, fn Handler) MatchableContextHandler + func MatchableFunction(err func(error) bool, fn Handler) MatchableContextHandler + type Matcher interface + Match func(*Request) bool + type MatcherFunc func(*Request) bool + func (fn MatcherFunc) Match(r *Request) bool + type MethodHandler struct + func Methods() *MethodHandler + func (m *MethodHandler) Handle(method string, handler Handler) *MethodHandler + func (m *MethodHandler) HandleFunc(method string, handlerFunc func(r *Request, p sabuhp.Params) Response) *MethodHandler + func (m *MethodHandler) NoContent(methods ...string) *MethodHandler + func (m *MethodHandler) ServeHTTP(r *Request) Handler + type Mux struct + PathCorrection bool + PathCorrectionNoRedirect bool + Routes *Trie + func NewMux() *Mux + func (m *Mux) AbsPath() string + func (m *Mux) AddRequestHandler(requestHandler RequestHandler) + func (m *Mux) Handle(r *Request) Response + func (m *Mux) HandleRequest(matcher Matcher, handler Handler) + func (m *Mux) Of(prefix string) SubMux + func (m *Mux) Unlink() SubMux + func (m *Mux) Use(middlewares ...Wrapper) + func (m *Mux) UseHandle(pattern string, handler Handler) + func (m *Mux) UseHandleFunc(pattern string, handlerFunc func(*Request, sabuhp.Params) Response) + type Node struct + Data interface{} + Handler Handler + Tag string + func NewNode() *Node + func (n *Node) IsEnd() bool + func (n *Node) Keys(sorter NodeKeysSorter) (list []string) + func (n *Node) Parent() *Node + func (n *Node) String() string + type NodeKeysSorter = func(list []string) func(i, j int) bool + type ParamsSetter interface + Set func(string, string) + type Processor interface + type Request struct + Body io.ReadCloser + Conn net.Conn + Cookies []sabuhp.Cookie + Form url.Values + Headers sabuhp.Header + Host string + IP string + Method string + MultipartForm *multipart.Form + PostForm url.Values + Proto string + Req *http.Request + TLS bool + TransferEncoding []string + URL *url.URL + func HTTPRequestToRequest(req *http.Request) *Request + func NewRequest(addr string, method string, body io.ReadCloser) (*Request, error) + type RequestHandler interface + type Response struct + Body io.WriteCloser + Code int + Cookies []sabuhp.Cookie + Err error + Flushed bool + Headers sabuhp.Header + RedirectURL *url.URL + func NewResponse(w io.WriteCloser) *Response + func (rw *Response) Header() map[string][]string + func (rw *Response) Write(buf []byte) (int, error) + func (rw *Response) WriteString(str string) (int, error) + type Service interface + Serve func(w *Response, r *Request) + type SubMux interface + AbsPath func() string + Of func(prefix string) SubMux + Unlink func() SubMux + Use func(middlewares ...Wrapper) + UseHandle func(pattern string, handler Handler) + UseHandleFunc func(pattern string, handlerFunc func(*Request, sabuhp.Params) Response) + type Transport interface + Send func(ctx context.Context, request *Request) (Response, error) + type Trie struct + func NewTrie() *Trie + func (t *Trie) Autocomplete(prefix string, sorter NodeKeysSorter) (list []string) + func (t *Trie) HasPrefix(prefix string) bool + func (t *Trie) Insert(pattern string, options ...InsertOption) + func (t *Trie) Parents(prefix string) (parents []*Node) + func (t *Trie) Search(q string, params ParamsSetter) *Node + func (t *Trie) SearchPrefix(prefix string) *Node + type Wrapper func(Handler) Handler + type Wrappers []Wrapper + func Pre(middleware ...Wrapper) Wrappers + func (w Wrappers) For(main Handler) Handler + func (w Wrappers) ForFunc(mainFunc func(*Request, sabuhp.Params) Response) Handler