Versions in this module Expand all Collapse all v0 v0.55.0 May 4, 2024 Changes in this version + func CreateMultipartFileHeader(filename string, content []byte) (fh *multipart.FileHeader, err error) v0.54.0 Apr 4, 2024 Changes in this version + const AcceptRangesBytes + const AcceptRangesNone + const ContentEncodingBzip2 + const ContentEncodingCompress + const ContentEncodingDeflate + const ContentEncodingGzip + const ContentTypeBinary + const ContentTypeEventStream + const ContentTypeForm + const ContentTypeHTML + const ContentTypeJSON + const ContentTypeMultipartByteRanges + const ContentTypeMultipartForm + const ContentTypePlain + const ContentTypeXML + const DefRangeLimit + const HeaderACAllowCredentials + const HeaderACAllowHeaders + const HeaderACAllowMethod + const HeaderACAllowOrigin + const HeaderACExposeHeaders + const HeaderACMaxAge + const HeaderACRequestHeaders + const HeaderACRequestMethod + const HeaderAccept + const HeaderAcceptEncoding + const HeaderAcceptRanges + const HeaderAllow + const HeaderAuthKeyBearer + const HeaderAuthorization + const HeaderCacheControl + const HeaderContentEncoding + const HeaderContentLength + const HeaderContentRange + const HeaderContentType + const HeaderCookie + const HeaderDate + const HeaderETag + const HeaderHost + const HeaderIfModifiedSince + const HeaderIfNoneMatch + const HeaderLastEventID + const HeaderLocation + const HeaderOrigin + const HeaderRange + const HeaderSetCookie + const HeaderUserAgent + const HeaderXForwardedFor + const HeaderXRealIP + var ErrClientDownloadNoOutput = errors.New(`invalid or empty client download output`) + var ErrEndpointAmbiguous = errors.New(`ambigous endpoint`) + func DefaultErrorHandler(epr *EndpointRequest) + func GenerateFormData(params map[string][]byte) (contentType, body string, err error) + func HandleRange(res http.ResponseWriter, req *http.Request, bodyReader io.ReadSeeker, ...) + func IPAddressOfRequest(headers http.Header, defAddr string) (addr string) + func MarshalForm(in any) (out url.Values, err error) + func ParseResponseHeader(raw []byte) (resp *http.Response, rest []byte, err error) + func ParseXForwardedFor(val string) (clientAddr string, proxyAddrs []string) + func UnmarshalForm(in url.Values, out interface{}) (err error) + type CORSOptions struct + AllowCredentials bool + AllowHeaders []string + AllowOrigins []string + ExposeHeaders []string + MaxAge int + type Callback func(req *EndpointRequest) (resBody []byte, err error) + type CallbackErrorHandler func(epr *EndpointRequest) + type Client struct + func NewClient(opts ClientOptions) (client *Client) + func (client *Client) Delete(req ClientRequest) (res *ClientResponse, err error) + func (client *Client) Do(req *http.Request) (res *ClientResponse, err error) + func (client *Client) Download(req DownloadRequest) (res *http.Response, err error) + func (client *Client) GenerateHTTPRequest(req ClientRequest) (httpReq *http.Request, err error) + func (client *Client) Get(req ClientRequest) (res *ClientResponse, err error) + func (client *Client) Head(req ClientRequest) (res *ClientResponse, err error) + func (client *Client) Post(req ClientRequest) (res *ClientResponse, err error) + func (client *Client) PostForm(req ClientRequest) (res *ClientResponse, err error) + func (client *Client) PostFormData(req ClientRequest) (res *ClientResponse, err error) + func (client *Client) PostJSON(req ClientRequest) (res *ClientResponse, err error) + func (client *Client) Put(req ClientRequest) (*ClientResponse, error) + func (client *Client) PutForm(req ClientRequest) (*ClientResponse, error) + func (client *Client) PutFormData(req ClientRequest) (res *ClientResponse, err error) + func (client *Client) PutJSON(req ClientRequest) (res *ClientResponse, err error) + type ClientOptions struct + AllowInsecure bool + Headers http.Header + ServerURL string + Timeout time.Duration + type ClientRequest struct + Header http.Header + Method RequestMethod + Params any + Path string + Type RequestType + type ClientResponse struct + Body []byte + HTTPResponse *http.Response + type DownloadRequest struct + Output io.Writer + type Endpoint struct + Call Callback + ErrorHandler CallbackErrorHandler + Eval Evaluator + Method RequestMethod + Path string + RequestType RequestType + ResponseType ResponseType + type EndpointRequest struct + Endpoint *Endpoint + Error error + HTTPRequest *http.Request + HTTPWriter http.ResponseWriter + RequestBody []byte + type EndpointResponse struct + Count int64 + Data interface{} + Limit int64 + Offset int64 + Page int64 + Total int64 + func (epr *EndpointResponse) Error() string + func (epr *EndpointResponse) Unwrap() (err error) + type Evaluator func(req *http.Request, reqBody []byte) error + type FSHandler func(node *memfs.Node, res http.ResponseWriter, req *http.Request) (out *memfs.Node) + type Range struct + func NewRange(unit string) (r *Range) + func ParseMultipartRange(body io.Reader, boundary string) (r *Range, err error) + func ParseRange(v string) (r Range) + func (r *Range) Add(start, end *int64) bool + func (r *Range) IsEmpty() bool + func (r *Range) Positions() []*RangePosition + func (r *Range) String() string + type RangePosition struct + func ParseContentRange(v string) (pos *RangePosition) + func (pos RangePosition) Content() []byte + func (pos RangePosition) ContentRange(unit string, size int64) (v string) + func (pos RangePosition) String() string + type RequestMethod string + const RequestMethodConnect + const RequestMethodDelete + const RequestMethodGet + const RequestMethodHead + const RequestMethodOptions + const RequestMethodPatch + const RequestMethodPost + const RequestMethodPut + const RequestMethodTrace + type RequestType string + const RequestTypeForm + const RequestTypeJSON + const RequestTypeMultipartForm + const RequestTypeNone + const RequestTypeQuery + const RequestTypeXML + func (rt RequestType) String() string + type ResponseType string + const ResponseTypeBinary + const ResponseTypeHTML + const ResponseTypeJSON + const ResponseTypeNone + const ResponseTypePlain + const ResponseTypeXML + func (restype ResponseType) String() string + type SSECallback func(sse *SSEConn) + type SSEConn struct + HTTPRequest *http.Request + func (ep *SSEConn) WriteEvent(event, data string, id *string) (err error) + func (ep *SSEConn) WriteRaw(msg []byte) (err error) + func (ep *SSEConn) WriteRetry(retry time.Duration) (err error) + type SSEEndpoint struct + Call SSECallback + KeepAliveInterval time.Duration + Path string + type Server struct + Options ServerOptions + func NewServer(opts ServerOptions) (srv *Server, err error) + func (srv *Server) HandleFS(res http.ResponseWriter, req *http.Request) + func (srv *Server) RedirectTemp(res http.ResponseWriter, redirectURL string) + func (srv *Server) RegisterEndpoint(ep Endpoint) (err error) + func (srv *Server) RegisterEvaluator(eval Evaluator) + func (srv *Server) RegisterSSE(ep SSEEndpoint) (err error) + func (srv *Server) ServeHTTP(res http.ResponseWriter, req *http.Request) + func (srv *Server) Start() (err error) + func (srv *Server) Stop(wait time.Duration) (err error) + type ServerOptions struct + Address string + CORS CORSOptions + Conn *http.Server + EnableIndexHTML bool + ErrorWriter io.Writer + HandleFS FSHandler + Memfs *memfs.MemFS