Versions in this module Expand all Collapse all v1 v1.60.0 Dec 17, 2024 v1.59.0 Dec 17, 2024 Changes in this version + const CompressBestCompression + const CompressBestSpeed + const CompressBrotliBestCompression + const CompressBrotliBestSpeed + const CompressBrotliDefaultCompression + const CompressBrotliNoCompression + const CompressDefaultCompression + const CompressHuffmanOnly + const CompressNoCompression + const CompressZstdBestCompression + const CompressZstdBestSpeed + const CompressZstdDefault + const CompressZstdSpeedBetter + const CompressZstdSpeedNotSet + const DefaultConcurrency + const DefaultDNSCacheDuration + const DefaultDialTimeout + const DefaultLBClientTimeout + const DefaultMaxConnsPerHost + const DefaultMaxIdemponentCallAttempts + const DefaultMaxIdleConnDuration + const DefaultMaxPendingRequests + const DefaultMaxRequestBodySize + const FSCompressedFileSuffix + const FSHandlerCacheDuration + const HeaderAccept + const HeaderAcceptCH + const HeaderAcceptCHLifetime + const HeaderAcceptCharset + const HeaderAcceptEncoding + const HeaderAcceptLanguage + const HeaderAcceptPatch + const HeaderAcceptPushPolicy + const HeaderAcceptRanges + const HeaderAcceptSignature + const HeaderAccessControlAllowCredentials + const HeaderAccessControlAllowHeaders + const HeaderAccessControlAllowMethods + const HeaderAccessControlAllowOrigin + const HeaderAccessControlExposeHeaders + const HeaderAccessControlMaxAge + const HeaderAccessControlRequestHeaders + const HeaderAccessControlRequestMethod + const HeaderAge + const HeaderAllow + const HeaderAltSvc + const HeaderAuthorization + const HeaderCacheControl + const HeaderClearSiteData + const HeaderConnection + const HeaderContentDPR + const HeaderContentDisposition + const HeaderContentEncoding + const HeaderContentLanguage + const HeaderContentLength + const HeaderContentLocation + const HeaderContentRange + const HeaderContentSecurityPolicy + const HeaderContentSecurityPolicyReportOnly + const HeaderContentType + const HeaderCookie + const HeaderCrossOriginResourcePolicy + const HeaderDNT + const HeaderDPR + const HeaderDate + const HeaderETag + const HeaderEarlyData + const HeaderExpect + const HeaderExpectCT + const HeaderExpires + const HeaderFeaturePolicy + const HeaderForwarded + const HeaderFrom + const HeaderHost + const HeaderIfMatch + const HeaderIfModifiedSince + const HeaderIfNoneMatch + const HeaderIfRange + const HeaderIfUnmodifiedSince + const HeaderIndex + const HeaderKeepAlive + const HeaderLargeAllocation + const HeaderLastEventID + const HeaderLastModified + const HeaderLink + const HeaderLocation + const HeaderMaxForwards + const HeaderNEL + const HeaderOrigin + const HeaderPingFrom + const HeaderPingTo + const HeaderPragma + const HeaderProxyAuthenticate + const HeaderProxyAuthorization + const HeaderProxyConnection + const HeaderPublicKeyPins + const HeaderPublicKeyPinsReportOnly + const HeaderPushPolicy + const HeaderRange + const HeaderReferer + const HeaderReferrerPolicy + const HeaderReportTo + const HeaderRetryAfter + const HeaderSaveData + const HeaderSecWebSocketAccept + const HeaderSecWebSocketExtensions + const HeaderSecWebSocketKey + const HeaderSecWebSocketProtocol + const HeaderSecWebSocketVersion + const HeaderServer + const HeaderServerTiming + const HeaderSetCookie + const HeaderSignature + const HeaderSignedHeaders + const HeaderSourceMap + const HeaderStrictTransportSecurity + const HeaderTE + const HeaderTimingAllowOrigin + const HeaderTk + const HeaderTrailer + const HeaderTransferEncoding + const HeaderUpgrade + const HeaderUpgradeInsecureRequests + const HeaderUserAgent + const HeaderVary + const HeaderVia + const HeaderViewportWidth + const HeaderWWWAuthenticate + const HeaderWarning + const HeaderWidth + const HeaderXContentTypeOptions + const HeaderXDNSPrefetchControl + const HeaderXDownloadOptions + const HeaderXForwardedFor + const HeaderXForwardedHost + const HeaderXForwardedProto + const HeaderXFrameOptions + const HeaderXPermittedCrossDomainPolicies + const HeaderXPingback + const HeaderXPoweredBy + const HeaderXRequestedWith + const HeaderXRobotsTag + const HeaderXUACompatible + const HeaderXXSSProtection + const MethodConnect + const MethodDelete + const MethodGet + const MethodHead + const MethodOptions + const MethodPatch + const MethodPost + const MethodPut + const MethodTrace + 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 StatusTooManyRequests + const StatusUnauthorized + const StatusUnavailableForLegalReasons + const StatusUnprocessableEntity + const StatusUnsupportedMediaType + const StatusUpgradeRequired + const StatusUseProxy + const StatusVariantAlsoNegotiates + var CookieExpireDelete = time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC) + var CookieExpireUnlimited = zeroTime + var ErrAlreadyServing = errors.New("Server is already serving connections") + var ErrBadTrailer = errors.New("contain forbidden trailer") + var ErrBodyTooLarge = errors.New("body size exceeds the given limit") + var ErrConcurrencyLimit = errors.New(...) + var ErrConnPoolStrategyNotImpl = errors.New("connection pool strategy is not implement") + var ErrConnectionClosed = errors.New(...) + var ErrContentEncodingUnsupported = errors.New("unsupported Content-Encoding") + var ErrDialTimeout = errors.New("dialing to the given TCP address timed out") + var ErrGetOnly = errors.New("non-GET request received") + var ErrHostClientRedirectToDifferentScheme = errors.New(...) + var ErrMissingFile = errors.New("there is no uploaded file associated with the given key") + var ErrMissingLocation = errors.New("missing Location header for http redirect") + var ErrNoArgValue = errors.New("no Args value for the given key") + var ErrNoFreeConns = errors.New("no free connections available to host") + var ErrNoMultipartForm = errors.New("request Content-Type has bad boundary or is not multipart/form-data") + var ErrPerIPConnLimit = errors.New("too many connections per ip") + var ErrPipelineOverflow = errors.New(...) + var ErrTLSHandshakeTimeout = errors.New("tls handshake timed out") + var ErrTimeout = &timeoutError + var ErrTooManyRedirects = errors.New("too many redirects detected when doing the request") + var ErrorInvalidURI = errors.New("invalid uri") + var FSCompressedFileSuffixes = map[string]string + var NetHttpFormValueFunc = func(ctx *RequestCtx, key string) []byte + func AcquireTimer(timeout time.Duration) *time.Timer + func AddMissingPort(addr string, isTLS bool) string + func AppendBrotliBytes(dst, src []byte) []byte + func AppendBrotliBytesLevel(dst, src []byte, level int) []byte + func AppendDeflateBytes(dst, src []byte) []byte + func AppendDeflateBytesLevel(dst, src []byte, level int) []byte + func AppendGunzipBytes(dst, src []byte) ([]byte, error) + func AppendGzipBytes(dst, src []byte) []byte + func AppendGzipBytesLevel(dst, src []byte, level int) []byte + func AppendHTMLEscape(dst []byte, s string) []byte + func AppendHTMLEscapeBytes(dst, s []byte) []byte + func AppendHTTPDate(dst []byte, date time.Time) []byte + func AppendIPv4(dst []byte, ip net.IP) []byte + func AppendInflateBytes(dst, src []byte) ([]byte, error) + func AppendNormalizedHeaderKey(dst []byte, key string) []byte + func AppendNormalizedHeaderKeyBytes(dst, key []byte) []byte + func AppendQuotedArg(dst, src []byte) []byte + func AppendUint(dst []byte, n int) []byte + func AppendUnbrotliBytes(dst, src []byte) ([]byte, error) + func AppendUnquotedArg(dst, src []byte) []byte + func AppendUnzstdBytes(dst, src []byte) ([]byte, error) + func AppendZstdBytes(dst, src []byte) []byte + func AppendZstdBytesLevel(dst, src []byte, level int) []byte + func CoarseTimeNow() time.Time + func Dial(addr string) (net.Conn, error) + func DialDualStack(addr string) (net.Conn, error) + func DialDualStackTimeout(addr string, timeout time.Duration) (net.Conn, error) + func DialTimeout(addr string, timeout time.Duration) (net.Conn, error) + func Do(req *Request, resp *Response) error + func DoDeadline(req *Request, resp *Response, deadline time.Time) error + func DoRedirects(req *Request, resp *Response, maxRedirectsCount int) error + func DoTimeout(req *Request, resp *Response, timeout time.Duration) error + func FileLastModified(path string) (time.Time, error) + func GenerateTestCertificate(host string) ([]byte, []byte, error) + func Get(dst []byte, url string) (statusCode int, body []byte, err error) + func GetDeadline(dst []byte, url string, deadline time.Time) (statusCode int, body []byte, err error) + func GetTimeout(dst []byte, url string, timeout time.Duration) (statusCode int, body []byte, err error) + func ListenAndServe(addr string, handler RequestHandler) error + func ListenAndServeTLS(addr, certFile, keyFile string, handler RequestHandler) error + func ListenAndServeTLSEmbed(addr string, certData, keyData []byte, handler RequestHandler) error + func ListenAndServeUNIX(addr string, mode os.FileMode, handler RequestHandler) error + func NewStreamReader(sw StreamWriter) io.ReadCloser + func ParseByteRange(byteRange []byte, contentLength int) (startPos, endPos int, err error) + func ParseHTTPDate(date []byte) (time.Time, error) + func ParseIPv4(dst net.IP, ipStr []byte) (net.IP, error) + func ParseUfloat(buf []byte) (float64, error) + func ParseUint(buf []byte) (int, error) + func Post(dst []byte, url string, postArgs *Args) (statusCode int, body []byte, err error) + func ReleaseArgs(a *Args) + func ReleaseCookie(c *Cookie) + func ReleaseRequest(req *Request) + func ReleaseResponse(resp *Response) + func ReleaseTimer(t *time.Timer) + func ReleaseURI(u *URI) + func SaveMultipartFile(fh *multipart.FileHeader, path string) (err error) + func Serve(ln net.Listener, handler RequestHandler) error + func ServeConn(c net.Conn, handler RequestHandler) error + func ServeFS(ctx *RequestCtx, filesystem fs.FS, path string) + func ServeFile(ctx *RequestCtx, path string) + func ServeFileBytes(ctx *RequestCtx, path []byte) + func ServeFileBytesUncompressed(ctx *RequestCtx, path []byte) + func ServeFileUncompressed(ctx *RequestCtx, path string) + func ServeTLS(ln net.Listener, certFile, keyFile string, handler RequestHandler) error + func ServeTLSEmbed(ln net.Listener, certData, keyData []byte, handler RequestHandler) error + func SetBodySizePoolLimit(reqBodyLimit, respBodyLimit int) + func StatusCodeIsRedirect(statusCode int) bool + func StatusMessage(statusCode int) string + func VisitHeaderParams(b []byte, f func(key, value []byte) bool) + func WriteBrotli(w io.Writer, p []byte) (int, error) + func WriteBrotliLevel(w io.Writer, p []byte, level int) (int, error) + func WriteDeflate(w io.Writer, p []byte) (int, error) + func WriteDeflateLevel(w io.Writer, p []byte, level int) (int, error) + func WriteGunzip(w io.Writer, p []byte) (int, error) + func WriteGzip(w io.Writer, p []byte) (int, error) + func WriteGzipLevel(w io.Writer, p []byte, level int) (int, error) + func WriteInflate(w io.Writer, p []byte) (int, error) + func WriteMultipartForm(w io.Writer, f *multipart.Form, boundary string) error + func WriteUnbrotli(w io.Writer, p []byte) (int, error) + func WriteUnzstd(w io.Writer, p []byte) (int, error) + func WriteZstdLevel(w io.Writer, p []byte, level int) (int, error) + type Args struct + func AcquireArgs() *Args + func (a *Args) Add(key, value string) + func (a *Args) AddBytesK(key []byte, value string) + func (a *Args) AddBytesKNoValue(key []byte) + func (a *Args) AddBytesKV(key, value []byte) + func (a *Args) AddBytesV(key string, value []byte) + func (a *Args) AddNoValue(key string) + func (a *Args) AppendBytes(dst []byte) []byte + func (a *Args) CopyTo(dst *Args) + func (a *Args) Del(key string) + func (a *Args) DelBytes(key []byte) + func (a *Args) GetBool(key string) bool + func (a *Args) GetUfloat(key string) (float64, error) + func (a *Args) GetUfloatOrZero(key string) float64 + func (a *Args) GetUint(key string) (int, error) + func (a *Args) GetUintOrZero(key string) int + func (a *Args) Has(key string) bool + func (a *Args) HasBytes(key []byte) bool + func (a *Args) Len() int + func (a *Args) Parse(s string) + func (a *Args) ParseBytes(b []byte) + func (a *Args) Peek(key string) []byte + func (a *Args) PeekBytes(key []byte) []byte + func (a *Args) PeekMulti(key string) [][]byte + func (a *Args) PeekMultiBytes(key []byte) [][]byte + func (a *Args) QueryString() []byte + func (a *Args) Reset() + func (a *Args) Set(key, value string) + func (a *Args) SetBytesK(key []byte, value string) + func (a *Args) SetBytesKNoValue(key []byte) + func (a *Args) SetBytesKV(key, value []byte) + func (a *Args) SetBytesV(key string, value []byte) + func (a *Args) SetNoValue(key string) + func (a *Args) SetUint(key string, value int) + func (a *Args) SetUintBytes(key []byte, value int) + func (a *Args) Sort(f func(x, y []byte) int) + func (a *Args) String() string + func (a *Args) VisitAll(f func(key, value []byte)) + func (a *Args) WriteTo(w io.Writer) (int64, error) + type BalancingClient interface + DoDeadline func(req *Request, resp *Response, deadline time.Time) error + PendingRequests func() int + type CacheKind uint8 + type Client struct + ConfigureClient func(hc *HostClient) error + ConnPoolStrategy ConnPoolStrategyType + Dial DialFunc + DialDualStack bool + DialTimeout DialFuncWithTimeout + DisableHeaderNamesNormalizing bool + DisablePathNormalizing bool + MaxConnDuration time.Duration + MaxConnWaitTimeout time.Duration + MaxConnsPerHost int + MaxIdemponentCallAttempts int + MaxIdleConnDuration time.Duration + MaxResponseBodySize int + Name string + NoDefaultUserAgentHeader bool + ReadBufferSize int + ReadTimeout time.Duration + RetryIf RetryIfFunc + RetryIfErr RetryIfErrFunc + StreamResponseBody bool + TLSConfig *tls.Config + WriteBufferSize int + WriteTimeout time.Duration + func (c *Client) CloseIdleConnections() + func (c *Client) Do(req *Request, resp *Response) error + func (c *Client) DoDeadline(req *Request, resp *Response, deadline time.Time) error + func (c *Client) DoRedirects(req *Request, resp *Response, maxRedirectsCount int) error + func (c *Client) DoTimeout(req *Request, resp *Response, timeout time.Duration) error + func (c *Client) Get(dst []byte, url string) (statusCode int, body []byte, err error) + func (c *Client) GetDeadline(dst []byte, url string, deadline time.Time) (statusCode int, body []byte, err error) + func (c *Client) GetTimeout(dst []byte, url string, timeout time.Duration) (statusCode int, body []byte, err error) + func (c *Client) Post(dst []byte, url string, postArgs *Args) (statusCode int, body []byte, err error) + type ConnPoolStrategyType int + const FIFO + const LIFO + type ConnState int + const StateActive + const StateClosed + const StateHijacked + const StateIdle + const StateNew + func (c ConnState) String() string + type Cookie struct + func AcquireCookie() *Cookie + func (c *Cookie) AppendBytes(dst []byte) []byte + func (c *Cookie) Cookie() []byte + func (c *Cookie) CopyTo(src *Cookie) + func (c *Cookie) Domain() []byte + func (c *Cookie) Expire() time.Time + func (c *Cookie) HTTPOnly() bool + func (c *Cookie) Key() []byte + func (c *Cookie) MaxAge() int + func (c *Cookie) Parse(src string) error + func (c *Cookie) ParseBytes(src []byte) error + func (c *Cookie) Partitioned() bool + func (c *Cookie) Path() []byte + func (c *Cookie) Reset() + func (c *Cookie) SameSite() CookieSameSite + func (c *Cookie) Secure() bool + func (c *Cookie) SetDomain(domain string) + func (c *Cookie) SetDomainBytes(domain []byte) + func (c *Cookie) SetExpire(expire time.Time) + func (c *Cookie) SetHTTPOnly(httpOnly bool) + func (c *Cookie) SetKey(key string) + func (c *Cookie) SetKeyBytes(key []byte) + func (c *Cookie) SetMaxAge(seconds int) + func (c *Cookie) SetPartitioned(partitioned bool) + func (c *Cookie) SetPath(path string) + func (c *Cookie) SetPathBytes(path []byte) + func (c *Cookie) SetSameSite(mode CookieSameSite) + func (c *Cookie) SetSecure(secure bool) + func (c *Cookie) SetValue(value string) + func (c *Cookie) SetValueBytes(value []byte) + func (c *Cookie) String() string + func (c *Cookie) Value() []byte + func (c *Cookie) WriteTo(w io.Writer) (int64, error) + type CookieSameSite int + const CookieSameSiteDefaultMode + const CookieSameSiteDisabled + const CookieSameSiteLaxMode + const CookieSameSiteNoneMode + const CookieSameSiteStrictMode + type DialFunc func(addr string) (net.Conn, error) + type DialFuncWithTimeout func(addr string, timeout time.Duration) (net.Conn, error) + type ErrBodyStreamWritePanic struct + type ErrBrokenChunk struct + type ErrDialWithUpstream struct + Upstream string + func (e *ErrDialWithUpstream) Error() string + func (e *ErrDialWithUpstream) Unwrap() error + type ErrNothingRead struct + type ErrSmallBuffer struct + type EscapeError string + func (e EscapeError) Error() string + type FS struct + AcceptByteRange bool + AllowEmptyRoot bool + CacheDuration time.Duration + CleanStop chan struct{} + Compress bool + CompressBrotli bool + CompressRoot string + CompressedFileSuffix string + CompressedFileSuffixes map[string]string + FS fs.FS + GenerateIndexPages bool + IndexNames []string + PathNotFound RequestHandler + PathRewrite PathRewriteFunc + Root string + SkipCache bool + func (fs *FS) NewRequestHandler() RequestHandler + type FormValueFunc func(*RequestCtx, string) []byte + type HijackHandler func(c net.Conn) + type HostClient struct + Addr string + ConnPoolStrategy ConnPoolStrategyType + Dial DialFunc + DialDualStack bool + DialTimeout DialFuncWithTimeout + DisableHeaderNamesNormalizing bool + DisablePathNormalizing bool + IsTLS bool + MaxConnDuration time.Duration + MaxConnWaitTimeout time.Duration + MaxConns int + MaxIdemponentCallAttempts int + MaxIdleConnDuration time.Duration + MaxResponseBodySize int + Name string + NoDefaultUserAgentHeader bool + ReadBufferSize int + ReadTimeout time.Duration + RetryIf RetryIfFunc + RetryIfErr RetryIfErrFunc + SecureErrorLogMessage bool + StreamResponseBody bool + TLSConfig *tls.Config + Transport RoundTripper + WriteBufferSize int + WriteTimeout time.Duration + func (c *HostClient) CloseIdleConnections() + func (c *HostClient) ConnsCount() int + func (c *HostClient) Do(req *Request, resp *Response) error + func (c *HostClient) DoDeadline(req *Request, resp *Response, deadline time.Time) error + func (c *HostClient) DoRedirects(req *Request, resp *Response, maxRedirectsCount int) error + func (c *HostClient) DoTimeout(req *Request, resp *Response, timeout time.Duration) error + func (c *HostClient) Get(dst []byte, url string) (statusCode int, body []byte, err error) + func (c *HostClient) GetDeadline(dst []byte, url string, deadline time.Time) (statusCode int, body []byte, err error) + func (c *HostClient) GetTimeout(dst []byte, url string, timeout time.Duration) (statusCode int, body []byte, err error) + func (c *HostClient) LastUseTime() time.Time + func (c *HostClient) PendingRequests() int + func (c *HostClient) Post(dst []byte, url string, postArgs *Args) (statusCode int, body []byte, err error) + func (c *HostClient) SetMaxConns(newMaxConns int) + type InvalidHostError string + func (e InvalidHostError) Error() string + type LBClient struct + Clients []BalancingClient + HealthCheck func(req *Request, resp *Response, err error) bool + Timeout time.Duration + func (cc *LBClient) AddClient(c BalancingClient) int + func (cc *LBClient) Do(req *Request, resp *Response) error + func (cc *LBClient) DoDeadline(req *Request, resp *Response, deadline time.Time) error + func (cc *LBClient) DoTimeout(req *Request, resp *Response, timeout time.Duration) error + func (cc *LBClient) RemoveClients(rc func(BalancingClient) bool) int + type Logger interface + Printf func(format string, args ...any) + type PathRewriteFunc func(ctx *RequestCtx) []byte + func NewPathPrefixStripper(prefixSize int) PathRewriteFunc + func NewPathSlashesStripper(slashesCount int) PathRewriteFunc + func NewVHostPathRewriter(slashesCount int) PathRewriteFunc + type PipelineClient struct + Addr string + Dial DialFunc + DialDualStack bool + DisableHeaderNamesNormalizing bool + DisablePathNormalizing bool + IsTLS bool + Logger Logger + MaxBatchDelay time.Duration + MaxConns int + MaxIdleConnDuration time.Duration + MaxPendingRequests int + Name string + NoDefaultUserAgentHeader bool + ReadBufferSize int + ReadTimeout time.Duration + TLSConfig *tls.Config + WriteBufferSize int + WriteTimeout time.Duration + func (c *PipelineClient) Do(req *Request, resp *Response) error + func (c *PipelineClient) DoDeadline(req *Request, resp *Response, deadline time.Time) error + func (c *PipelineClient) DoTimeout(req *Request, resp *Response, timeout time.Duration) error + func (c *PipelineClient) PendingRequests() int + type ReadCloserWithError interface + CloseWithError func(err error) error + type Request struct + DisableRedirectPathNormalizing bool + Header RequestHeader + UseHostHeader bool + func AcquireRequest() *Request + func (req *Request) AppendBody(p []byte) + func (req *Request) AppendBodyString(s string) + func (req *Request) Body() []byte + func (req *Request) BodyGunzip() ([]byte, error) + func (req *Request) BodyInflate() ([]byte, error) + func (req *Request) BodyStream() io.Reader + func (req *Request) BodyUnbrotli() ([]byte, error) + func (req *Request) BodyUncompressed() ([]byte, error) + func (req *Request) BodyUnzstd() ([]byte, error) + func (req *Request) BodyWriteTo(w io.Writer) error + func (req *Request) BodyWriter() io.Writer + func (req *Request) CloseBodyStream() error + func (req *Request) ConnectionClose() bool + func (req *Request) ContinueReadBody(r *bufio.Reader, maxBodySize int, preParseMultipartForm ...bool) error + func (req *Request) ContinueReadBodyStream(r *bufio.Reader, maxBodySize int, preParseMultipartForm ...bool) error + func (req *Request) CopyTo(dst *Request) + func (req *Request) GetTimeOut() time.Duration + func (req *Request) Host() []byte + func (req *Request) IsBodyStream() bool + func (req *Request) MayContinue() bool + func (req *Request) MultipartForm() (*multipart.Form, error) + func (req *Request) PostArgs() *Args + func (req *Request) Read(r *bufio.Reader) error + func (req *Request) ReadBody(r *bufio.Reader, contentLength, maxBodySize int) (err error) + func (req *Request) ReadLimitBody(r *bufio.Reader, maxBodySize int) error + func (req *Request) ReleaseBody(size int) + func (req *Request) RemoveMultipartFormFiles() + func (req *Request) RequestURI() []byte + func (req *Request) Reset() + func (req *Request) ResetBody() + func (req *Request) SetBody(body []byte) + func (req *Request) SetBodyRaw(body []byte) + func (req *Request) SetBodyStream(bodyStream io.Reader, bodySize int) + func (req *Request) SetBodyStreamWriter(sw StreamWriter) + func (req *Request) SetBodyString(body string) + func (req *Request) SetConnectionClose() + func (req *Request) SetHost(host string) + func (req *Request) SetHostBytes(host []byte) + func (req *Request) SetRequestURI(requestURI string) + func (req *Request) SetRequestURIBytes(requestURI []byte) + func (req *Request) SetTimeout(t time.Duration) + func (req *Request) SetURI(newURI *URI) + func (req *Request) String() string + func (req *Request) SwapBody(body []byte) []byte + func (req *Request) URI() *URI + func (req *Request) Write(w *bufio.Writer) error + func (req *Request) WriteTo(w io.Writer) (int64, error) + type RequestConfig struct + MaxRequestBodySize int + ReadTimeout time.Duration + WriteTimeout time.Duration + type RequestCtx struct + Request Request + Response Response + func (ctx *RequestCtx) Conn() net.Conn + func (ctx *RequestCtx) ConnID() uint64 + func (ctx *RequestCtx) ConnRequestNum() uint64 + func (ctx *RequestCtx) ConnTime() time.Time + func (ctx *RequestCtx) Deadline() (deadline time.Time, ok bool) + func (ctx *RequestCtx) Done() <-chan struct{} + func (ctx *RequestCtx) Err() error + func (ctx *RequestCtx) Error(msg string, statusCode int) + func (ctx *RequestCtx) FormFile(key string) (*multipart.FileHeader, error) + func (ctx *RequestCtx) FormValue(key string) []byte + func (ctx *RequestCtx) Hijack(handler HijackHandler) + func (ctx *RequestCtx) HijackSetNoResponse(noResponse bool) + func (ctx *RequestCtx) Hijacked() bool + func (ctx *RequestCtx) Host() []byte + func (ctx *RequestCtx) ID() uint64 + func (ctx *RequestCtx) IfModifiedSince(lastModified time.Time) bool + func (ctx *RequestCtx) Init(req *Request, remoteAddr net.Addr, logger Logger) + func (ctx *RequestCtx) Init2(conn net.Conn, logger Logger, reduceMemoryUsage bool) + func (ctx *RequestCtx) IsBodyStream() bool + func (ctx *RequestCtx) IsConnect() bool + func (ctx *RequestCtx) IsDelete() bool + func (ctx *RequestCtx) IsGet() bool + func (ctx *RequestCtx) IsHead() bool + func (ctx *RequestCtx) IsOptions() bool + func (ctx *RequestCtx) IsPatch() bool + func (ctx *RequestCtx) IsPost() bool + func (ctx *RequestCtx) IsPut() bool + func (ctx *RequestCtx) IsTLS() bool + func (ctx *RequestCtx) IsTrace() bool + func (ctx *RequestCtx) LastTimeoutErrorResponse() *Response + func (ctx *RequestCtx) LocalAddr() net.Addr + func (ctx *RequestCtx) LocalIP() net.IP + func (ctx *RequestCtx) Logger() Logger + func (ctx *RequestCtx) Method() []byte + func (ctx *RequestCtx) MultipartForm() (*multipart.Form, error) + func (ctx *RequestCtx) NotFound() + func (ctx *RequestCtx) NotModified() + func (ctx *RequestCtx) Path() []byte + func (ctx *RequestCtx) PostArgs() *Args + func (ctx *RequestCtx) PostBody() []byte + func (ctx *RequestCtx) QueryArgs() *Args + func (ctx *RequestCtx) Redirect(uri string, statusCode int) + func (ctx *RequestCtx) RedirectBytes(uri []byte, statusCode int) + func (ctx *RequestCtx) Referer() []byte + func (ctx *RequestCtx) RemoteAddr() net.Addr + func (ctx *RequestCtx) RemoteIP() net.IP + func (ctx *RequestCtx) RemoveUserValue(key any) + func (ctx *RequestCtx) RemoveUserValueBytes(key []byte) + func (ctx *RequestCtx) RequestBodyStream() io.Reader + func (ctx *RequestCtx) RequestURI() []byte + func (ctx *RequestCtx) ResetBody() + func (ctx *RequestCtx) ResetUserValues() + func (ctx *RequestCtx) SendFile(path string) + func (ctx *RequestCtx) SendFileBytes(path []byte) + func (ctx *RequestCtx) SetBody(body []byte) + func (ctx *RequestCtx) SetBodyStream(bodyStream io.Reader, bodySize int) + func (ctx *RequestCtx) SetBodyStreamWriter(sw StreamWriter) + func (ctx *RequestCtx) SetBodyString(body string) + func (ctx *RequestCtx) SetConnectionClose() + func (ctx *RequestCtx) SetContentType(contentType string) + func (ctx *RequestCtx) SetContentTypeBytes(contentType []byte) + func (ctx *RequestCtx) SetRemoteAddr(remoteAddr net.Addr) + func (ctx *RequestCtx) SetStatusCode(statusCode int) + func (ctx *RequestCtx) SetUserValue(key, value any) + func (ctx *RequestCtx) SetUserValueBytes(key []byte, value any) + func (ctx *RequestCtx) String() string + func (ctx *RequestCtx) Success(contentType string, body []byte) + func (ctx *RequestCtx) SuccessString(contentType, body string) + func (ctx *RequestCtx) TLSConnectionState() *tls.ConnectionState + func (ctx *RequestCtx) Time() time.Time + func (ctx *RequestCtx) TimeoutError(msg string) + func (ctx *RequestCtx) TimeoutErrorWithCode(msg string, statusCode int) + func (ctx *RequestCtx) TimeoutErrorWithResponse(resp *Response) + func (ctx *RequestCtx) URI() *URI + func (ctx *RequestCtx) UserAgent() []byte + func (ctx *RequestCtx) UserValue(key any) any + func (ctx *RequestCtx) UserValueBytes(key []byte) any + func (ctx *RequestCtx) Value(key any) any + func (ctx *RequestCtx) VisitUserValues(visitor func([]byte, any)) + func (ctx *RequestCtx) VisitUserValuesAll(visitor func(any, any)) + func (ctx *RequestCtx) Write(p []byte) (int, error) + func (ctx *RequestCtx) WriteString(s string) (int, error) + type RequestHandler func(ctx *RequestCtx) + func CompressHandler(h RequestHandler) RequestHandler + func CompressHandlerBrotliLevel(h RequestHandler, brotliLevel, otherLevel int) RequestHandler + func CompressHandlerLevel(h RequestHandler, level int) RequestHandler + func FSHandler(root string, stripSlashes int) RequestHandler + func TimeoutHandler(h RequestHandler, timeout time.Duration, msg string) RequestHandler + func TimeoutWithCodeHandler(h RequestHandler, timeout time.Duration, msg string, statusCode int) RequestHandler + type RequestHeader struct + func (h *RequestHeader) Add(key, value string) + func (h *RequestHeader) AddBytesK(key []byte, value string) + func (h *RequestHeader) AddBytesKV(key, value []byte) + func (h *RequestHeader) AddBytesV(key string, value []byte) + func (h *RequestHeader) AddTrailer(trailer string) error + func (h *RequestHeader) AddTrailerBytes(trailer []byte) error + func (h *RequestHeader) AppendBytes(dst []byte) []byte + func (h *RequestHeader) ConnectionClose() bool + func (h *RequestHeader) ConnectionUpgrade() bool + func (h *RequestHeader) ContentEncoding() []byte + func (h *RequestHeader) ContentLength() int + func (h *RequestHeader) ContentType() []byte + func (h *RequestHeader) Cookie(key string) []byte + func (h *RequestHeader) CookieBytes(key []byte) []byte + func (h *RequestHeader) CopyTo(dst *RequestHeader) + func (h *RequestHeader) Del(key string) + func (h *RequestHeader) DelAllCookies() + func (h *RequestHeader) DelBytes(key []byte) + func (h *RequestHeader) DelCookie(key string) + func (h *RequestHeader) DelCookieBytes(key []byte) + func (h *RequestHeader) DisableNormalizing() + func (h *RequestHeader) DisableSpecialHeader() + func (h *RequestHeader) EnableNormalizing() + func (h *RequestHeader) EnableSpecialHeader() + func (h *RequestHeader) HasAcceptEncoding(acceptEncoding string) bool + func (h *RequestHeader) HasAcceptEncodingBytes(acceptEncoding []byte) bool + func (h *RequestHeader) Header() []byte + func (h *RequestHeader) Host() []byte + func (h *RequestHeader) IsConnect() bool + func (h *RequestHeader) IsDelete() bool + func (h *RequestHeader) IsGet() bool + func (h *RequestHeader) IsHTTP11() bool + func (h *RequestHeader) IsHead() bool + func (h *RequestHeader) IsOptions() bool + func (h *RequestHeader) IsPatch() bool + func (h *RequestHeader) IsPost() bool + func (h *RequestHeader) IsPut() bool + func (h *RequestHeader) IsTrace() bool + func (h *RequestHeader) Len() int + func (h *RequestHeader) Method() []byte + func (h *RequestHeader) MultipartFormBoundary() []byte + func (h *RequestHeader) Peek(key string) []byte + func (h *RequestHeader) PeekAll(key string) [][]byte + func (h *RequestHeader) PeekBytes(key []byte) []byte + func (h *RequestHeader) PeekKeys() [][]byte + func (h *RequestHeader) PeekTrailerKeys() [][]byte + func (h *RequestHeader) Protocol() []byte + func (h *RequestHeader) RawHeaders() []byte + func (h *RequestHeader) Read(r *bufio.Reader) error + func (h *RequestHeader) ReadTrailer(r *bufio.Reader) error + func (h *RequestHeader) Referer() []byte + func (h *RequestHeader) RequestURI() []byte + func (h *RequestHeader) Reset() + func (h *RequestHeader) ResetConnectionClose() + func (h *RequestHeader) Set(key, value string) + func (h *RequestHeader) SetByteRange(startPos, endPos int) + func (h *RequestHeader) SetBytesK(key []byte, value string) + func (h *RequestHeader) SetBytesKV(key, value []byte) + func (h *RequestHeader) SetBytesV(key string, value []byte) + func (h *RequestHeader) SetCanonical(key, value []byte) + func (h *RequestHeader) SetConnectionClose() + func (h *RequestHeader) SetContentEncoding(contentEncoding string) + func (h *RequestHeader) SetContentEncodingBytes(contentEncoding []byte) + func (h *RequestHeader) SetContentLength(contentLength int) + func (h *RequestHeader) SetContentType(contentType string) + func (h *RequestHeader) SetContentTypeBytes(contentType []byte) + func (h *RequestHeader) SetCookie(key, value string) + func (h *RequestHeader) SetCookieBytesK(key []byte, value string) + func (h *RequestHeader) SetCookieBytesKV(key, value []byte) + func (h *RequestHeader) SetHost(host string) + func (h *RequestHeader) SetHostBytes(host []byte) + func (h *RequestHeader) SetMethod(method string) + func (h *RequestHeader) SetMethodBytes(method []byte) + func (h *RequestHeader) SetMultipartFormBoundary(boundary string) + func (h *RequestHeader) SetMultipartFormBoundaryBytes(boundary []byte) + func (h *RequestHeader) SetNoDefaultContentType(noDefaultContentType bool) + func (h *RequestHeader) SetProtocol(method string) + func (h *RequestHeader) SetProtocolBytes(method []byte) + func (h *RequestHeader) SetReferer(referer string) + func (h *RequestHeader) SetRefererBytes(referer []byte) + func (h *RequestHeader) SetRequestURI(requestURI string) + func (h *RequestHeader) SetRequestURIBytes(requestURI []byte) + func (h *RequestHeader) SetTrailer(trailer string) error + func (h *RequestHeader) SetTrailerBytes(trailer []byte) error + func (h *RequestHeader) SetUserAgent(userAgent string) + func (h *RequestHeader) SetUserAgentBytes(userAgent []byte) + func (h *RequestHeader) String() string + func (h *RequestHeader) TrailerHeader() []byte + func (h *RequestHeader) UserAgent() []byte + func (h *RequestHeader) VisitAll(f func(key, value []byte)) + func (h *RequestHeader) VisitAllCookie(f func(key, value []byte)) + func (h *RequestHeader) VisitAllInOrder(f func(key, value []byte)) + func (h *RequestHeader) VisitAllTrailer(f func(value []byte)) + func (h *RequestHeader) Write(w *bufio.Writer) error + func (h *RequestHeader) WriteTo(w io.Writer) (int64, error) + type Resolver interface + LookupIPAddr func(context.Context, string) (names []net.IPAddr, err error) + type Response struct + Header ResponseHeader + ImmediateHeaderFlush bool + SkipBody bool + StreamBody bool + func AcquireResponse() *Response + func (resp *Response) AppendBody(p []byte) + func (resp *Response) AppendBodyString(s string) + func (resp *Response) Body() []byte + func (resp *Response) BodyGunzip() ([]byte, error) + func (resp *Response) BodyInflate() ([]byte, error) + func (resp *Response) BodyStream() io.Reader + func (resp *Response) BodyUnbrotli() ([]byte, error) + func (resp *Response) BodyUncompressed() ([]byte, error) + func (resp *Response) BodyUnzstd() ([]byte, error) + func (resp *Response) BodyWriteTo(w io.Writer) error + func (resp *Response) BodyWriter() io.Writer + func (resp *Response) CloseBodyStream() error + func (resp *Response) ConnectionClose() bool + func (resp *Response) CopyTo(dst *Response) + func (resp *Response) IsBodyStream() bool + func (resp *Response) LocalAddr() net.Addr + func (resp *Response) Read(r *bufio.Reader) error + func (resp *Response) ReadBody(r *bufio.Reader, maxBodySize int) (err error) + func (resp *Response) ReadLimitBody(r *bufio.Reader, maxBodySize int) error + func (resp *Response) ReleaseBody(size int) + func (resp *Response) RemoteAddr() net.Addr + func (resp *Response) Reset() + func (resp *Response) ResetBody() + func (resp *Response) SendFile(path string) error + func (resp *Response) SetBody(body []byte) + func (resp *Response) SetBodyRaw(body []byte) + func (resp *Response) SetBodyStream(bodyStream io.Reader, bodySize int) + func (resp *Response) SetBodyStreamWriter(sw StreamWriter) + func (resp *Response) SetBodyString(body string) + func (resp *Response) SetConnectionClose() + func (resp *Response) SetStatusCode(statusCode int) + func (resp *Response) StatusCode() int + func (resp *Response) String() string + func (resp *Response) SwapBody(body []byte) []byte + func (resp *Response) Write(w *bufio.Writer) error + func (resp *Response) WriteDeflate(w *bufio.Writer) error + func (resp *Response) WriteDeflateLevel(w *bufio.Writer, level int) error + func (resp *Response) WriteGzip(w *bufio.Writer) error + func (resp *Response) WriteGzipLevel(w *bufio.Writer, level int) error + func (resp *Response) WriteTo(w io.Writer) (int64, error) + type ResponseHeader struct + func (h *ResponseHeader) Add(key, value string) + func (h *ResponseHeader) AddBytesK(key []byte, value string) + func (h *ResponseHeader) AddBytesKV(key, value []byte) + func (h *ResponseHeader) AddBytesV(key string, value []byte) + func (h *ResponseHeader) AddTrailer(trailer string) error + func (h *ResponseHeader) AddTrailerBytes(trailer []byte) error + func (h *ResponseHeader) AppendBytes(dst []byte) []byte + func (h *ResponseHeader) ConnectionClose() bool + func (h *ResponseHeader) ConnectionUpgrade() bool + func (h *ResponseHeader) ContentEncoding() []byte + func (h *ResponseHeader) ContentLength() int + func (h *ResponseHeader) ContentType() []byte + func (h *ResponseHeader) Cookie(cookie *Cookie) bool + func (h *ResponseHeader) CopyTo(dst *ResponseHeader) + func (h *ResponseHeader) Del(key string) + func (h *ResponseHeader) DelAllCookies() + func (h *ResponseHeader) DelBytes(key []byte) + func (h *ResponseHeader) DelClientCookie(key string) + func (h *ResponseHeader) DelClientCookieBytes(key []byte) + func (h *ResponseHeader) DelCookie(key string) + func (h *ResponseHeader) DelCookieBytes(key []byte) + func (h *ResponseHeader) DisableNormalizing() + func (h *ResponseHeader) EnableNormalizing() + func (h *ResponseHeader) Header() []byte + func (h *ResponseHeader) IsHTTP11() bool + func (h *ResponseHeader) Len() int + func (h *ResponseHeader) Peek(key string) []byte + func (h *ResponseHeader) PeekAll(key string) [][]byte + func (h *ResponseHeader) PeekBytes(key []byte) []byte + func (h *ResponseHeader) PeekCookie(key string) []byte + func (h *ResponseHeader) PeekKeys() [][]byte + func (h *ResponseHeader) PeekTrailerKeys() [][]byte + func (h *ResponseHeader) Protocol() []byte + func (h *ResponseHeader) Read(r *bufio.Reader) error + func (h *ResponseHeader) ReadTrailer(r *bufio.Reader) error + func (h *ResponseHeader) Reset() + func (h *ResponseHeader) ResetConnectionClose() + func (h *ResponseHeader) Server() []byte + func (h *ResponseHeader) Set(key, value string) + func (h *ResponseHeader) SetBytesK(key []byte, value string) + func (h *ResponseHeader) SetBytesKV(key, value []byte) + func (h *ResponseHeader) SetBytesV(key string, value []byte) + func (h *ResponseHeader) SetCanonical(key, value []byte) + func (h *ResponseHeader) SetConnectionClose() + func (h *ResponseHeader) SetContentEncoding(contentEncoding string) + func (h *ResponseHeader) SetContentEncodingBytes(contentEncoding []byte) + func (h *ResponseHeader) SetContentLength(contentLength int) + func (h *ResponseHeader) SetContentRange(startPos, endPos, contentLength int) + func (h *ResponseHeader) SetContentType(contentType string) + func (h *ResponseHeader) SetContentTypeBytes(contentType []byte) + func (h *ResponseHeader) SetCookie(cookie *Cookie) + func (h *ResponseHeader) SetLastModified(t time.Time) + func (h *ResponseHeader) SetNoDefaultContentType(noDefaultContentType bool) + func (h *ResponseHeader) SetProtocol(protocol []byte) + func (h *ResponseHeader) SetServer(server string) + func (h *ResponseHeader) SetServerBytes(server []byte) + func (h *ResponseHeader) SetStatusCode(statusCode int) + func (h *ResponseHeader) SetStatusMessage(statusMessage []byte) + func (h *ResponseHeader) SetTrailer(trailer string) error + func (h *ResponseHeader) SetTrailerBytes(trailer []byte) error + func (h *ResponseHeader) StatusCode() int + func (h *ResponseHeader) StatusMessage() []byte + func (h *ResponseHeader) String() string + func (h *ResponseHeader) TrailerHeader() []byte + func (h *ResponseHeader) VisitAll(f func(key, value []byte)) + func (h *ResponseHeader) VisitAllCookie(f func(key, value []byte)) + func (h *ResponseHeader) VisitAllTrailer(f func(value []byte)) + func (h *ResponseHeader) Write(w *bufio.Writer) error + func (h *ResponseHeader) WriteTo(w io.Writer) (int64, error) + type RetryIfErrFunc func(request *Request, attempts int, err error) (resetTimeout bool, retry bool) + type RetryIfFunc func(request *Request) bool + type RoundTripper interface + RoundTrip func(hc *HostClient, req *Request, resp *Response) (retry bool, err error) + var DefaultTransport RoundTripper = &transport{} + type ServeHandler func(c net.Conn) error + type Server struct + CloseOnShutdown bool + Concurrency int + ConnState func(net.Conn, ConnState) + ContinueHandler func(header *RequestHeader) bool + DisableHeaderNamesNormalizing bool + DisableKeepalive bool + DisablePreParseMultipartForm bool + ErrorHandler func(ctx *RequestCtx, err error) + FormValueFunc FormValueFunc + GetOnly bool + Handler RequestHandler + HeaderReceived func(header *RequestHeader) RequestConfig + IdleTimeout time.Duration + KeepHijackedConns bool + LogAllErrors bool + Logger Logger + MaxConnsPerIP int + MaxIdleWorkerDuration time.Duration + MaxKeepaliveDuration time.Duration + MaxRequestBodySize int + MaxRequestsPerConn int + Name string + NoDefaultContentType bool + NoDefaultDate bool + NoDefaultServerHeader bool + ReadBufferSize int + ReadTimeout time.Duration + ReduceMemoryUsage bool + SecureErrorLogMessage bool + SleepWhenConcurrencyLimitsExceeded time.Duration + StreamRequestBody bool + TCPKeepalive bool + TCPKeepalivePeriod time.Duration + TLSConfig *tls.Config + WriteBufferSize int + WriteTimeout time.Duration + func (s *Server) AppendCert(certFile, keyFile string) error + func (s *Server) AppendCertEmbed(certData, keyData []byte) error + func (s *Server) GetCurrentConcurrency() uint32 + func (s *Server) GetOpenConnectionsCount() int32 + func (s *Server) GetRejectedConnectionsCount() uint32 + func (s *Server) ListenAndServe(addr string) error + func (s *Server) ListenAndServeTLS(addr, certFile, keyFile string) error + func (s *Server) ListenAndServeTLSEmbed(addr string, certData, keyData []byte) error + func (s *Server) ListenAndServeUNIX(addr string, mode os.FileMode) error + func (s *Server) NextProto(key string, nph ServeHandler) + func (s *Server) Serve(ln net.Listener) error + func (s *Server) ServeConn(c net.Conn) error + func (s *Server) ServeTLS(ln net.Listener, certFile, keyFile string) error + func (s *Server) ServeTLSEmbed(ln net.Listener, certData, keyData []byte) error + func (s *Server) Shutdown() error + func (s *Server) ShutdownWithContext(ctx context.Context) (err error) + type StreamWriter func(w *bufio.Writer) + type TCPDialer struct + Concurrency int + DNSCacheDuration time.Duration + DisableDNSResolution bool + LocalAddr *net.TCPAddr + Resolver Resolver + func (d *TCPDialer) Dial(addr string) (net.Conn, error) + func (d *TCPDialer) DialDualStack(addr string) (net.Conn, error) + func (d *TCPDialer) DialDualStackTimeout(addr string, timeout time.Duration) (net.Conn, error) + func (d *TCPDialer) DialTimeout(addr string, timeout time.Duration) (net.Conn, error) + type URI struct + DisablePathNormalizing bool + func AcquireURI() *URI + func (u *URI) AppendBytes(dst []byte) []byte + func (u *URI) CopyTo(dst *URI) + func (u *URI) FullURI() []byte + func (u *URI) Hash() []byte + func (u *URI) Host() []byte + func (u *URI) LastPathSegment() []byte + func (u *URI) Parse(host, uri []byte) error + func (u *URI) Password() []byte + func (u *URI) Path() []byte + func (u *URI) PathOriginal() []byte + func (u *URI) QueryArgs() *Args + func (u *URI) QueryString() []byte + func (u *URI) RequestURI() []byte + func (u *URI) Reset() + func (u *URI) Scheme() []byte + func (u *URI) SetHash(hash string) + func (u *URI) SetHashBytes(hash []byte) + func (u *URI) SetHost(host string) + func (u *URI) SetHostBytes(host []byte) + func (u *URI) SetPassword(password string) + func (u *URI) SetPasswordBytes(password []byte) + func (u *URI) SetPath(path string) + func (u *URI) SetPathBytes(path []byte) + func (u *URI) SetQueryString(queryString string) + func (u *URI) SetQueryStringBytes(queryString []byte) + func (u *URI) SetScheme(scheme string) + func (u *URI) SetSchemeBytes(scheme []byte) + func (u *URI) SetUsername(username string) + func (u *URI) SetUsernameBytes(username []byte) + func (u *URI) String() string + func (u *URI) Update(newURI string) + func (u *URI) UpdateBytes(newURI []byte) + func (u *URI) Username() []byte + func (u *URI) WriteTo(w io.Writer) (int64, error)