Versions in this module Expand all Collapse all v0 v0.2.0 Jun 24, 2026 v0.1.1 Jun 17, 2026 v0.1.0 May 27, 2026 Changes in this version + const Authorization + const ContentType + const D + const ErrCodeDecodeRequest + const ErrCodeHttpCalculateLengthCopy + const ErrCodeHttpCurrentClient + const ErrCodeHttpCurrentPartner + const ErrCodeHttpCurrentUser + const ErrCodeHttpFileHeaderEmpty + const ErrCodeHttpFileHeaderInvalidJson + const ErrCodeHttpFileHeaderInvalidUUID + const ErrCodeHttpMultipartEmptyContent + const ErrCodeHttpMultipartEofReached + const ErrCodeHttpMultipartFilename + const ErrCodeHttpMultipartFormNameFileExpected + const ErrCodeHttpMultipartMissingBoundary + const ErrCodeHttpMultipartNext + const ErrCodeHttpMultipartNotMultipart + const ErrCodeHttpMultipartParseForm + const ErrCodeHttpMultipartParseMediaType + const ErrCodeHttpMultipartWrongMediaType + const ErrCodeHttpProxyFileClientDo + const ErrCodeHttpProxyFileCopyFile + const ErrCodeHttpProxyFileCreatePart + const ErrCodeHttpProxyFileInvalidContext + const ErrCodeHttpProxyFileJsonUnmarshal + const ErrCodeHttpProxyFileNewRequest + const ErrCodeHttpProxyFileReadResponse + const ErrCodeHttpProxyFileWriteField + const ErrCodeHttpRequestDo + const ErrCodeHttpRequestEmptyClient + const ErrCodeHttpRequestEmptyFileData + const ErrCodeHttpRequestEmptyMethod + const ErrCodeHttpRequestEmptyResponseFunc + const ErrCodeHttpRequestEmptyUrl + const ErrCodeHttpRequestInvalidStatusCode + const ErrCodeHttpRequestInvalidUrl + const ErrCodeHttpRequestJsonMarshal + const ErrCodeHttpRequestJsonUnmarshal + const ErrCodeHttpRequestNew + const ErrCodeHttpRequestReadAll + const ErrCodeHttpRequestResponseFuncFailed + const ErrCodeHttpRequestWriterClose + const ErrCodeHttpRequestWriterCopy + const ErrCodeHttpRequestWriterCreate + const ErrCodeHttpRequestWriterWriteField + const ErrCodeHttpSrvListen + const ErrCodeHttpTest + const ErrCodeHttpUrlFormVarEmpty + const ErrCodeHttpUrlFormVarNotBool + const ErrCodeHttpUrlFormVarNotFloat + const ErrCodeHttpUrlFormVarNotInt + const ErrCodeHttpUrlFormVarNotTime + const ErrCodeHttpUrlInvalidPagingSortSet + const ErrCodeHttpUrlMaxPageSizeExceeded + const ErrCodeHttpUrlVar + const ErrCodeHttpUrlVarEmpty + const ErrCodeHttpUrlVarInvalidUUID + const ErrCodeHttpUrlWrongSortFormat + const Me + const R + const RequestMetricsErrorCounterName + const RequestMetricsLabelErrorCodeName + const RequestMetricsLabelIntegrationName + const RequestMetricsLabelUrl + const RequestMetricsLatencyMsGaugeName + const W + const X + var EmptyOkResponse = struct{ ... } + var ErrHttpCalculateLengthCopy = func(ctx context.Context, cause error) error + var ErrHttpCurrentClient = func(ctx context.Context) error + var ErrHttpCurrentPartner = func(ctx context.Context) error + var ErrHttpCurrentUser = func(ctx context.Context) error + var ErrHttpDecodeRequest = func(cause error, ctx context.Context) error + var ErrHttpFileHeaderEmpty = func(ctx context.Context, v string) error + var ErrHttpFileHeaderInvalidJson = func(ctx context.Context, v string) error + var ErrHttpFileHeaderInvalidUUID = func(ctx context.Context, v string) error + var ErrHttpMultipartEmptyContent = func(ctx context.Context) error + var ErrHttpMultipartEofReached = func(ctx context.Context) error + var ErrHttpMultipartFilename = func(ctx context.Context) error + var ErrHttpMultipartFormNameFileExpected = func(ctx context.Context) error + var ErrHttpMultipartMissingBoundary = func(ctx context.Context) error + var ErrHttpMultipartNext = func(cause error, ctx context.Context) error + var ErrHttpMultipartNotMultipart = func(ctx context.Context) error + var ErrHttpMultipartParseForm = func(cause error, ctx context.Context) error + var ErrHttpMultipartParseMediaType = func(cause error, ctx context.Context) error + var ErrHttpMultipartWrongMediaType = func(ctx context.Context, mt string) error + var ErrHttpProxyFileClientDo = func(ctx context.Context, cause error) error + var ErrHttpProxyFileCopyFile = func(cause error) error + var ErrHttpProxyFileCreatePart = func(cause error) error + var ErrHttpProxyFileInvalidContext = func(ctx context.Context, cause error) error + var ErrHttpProxyFileJsonUnmarshal = func(ctx context.Context, cause error) error + var ErrHttpProxyFileNewRequest = func(ctx context.Context, cause error) error + var ErrHttpProxyFileReadResponse = func(ctx context.Context, cause error) error + var ErrHttpProxyFileWriteField = func(cause error) error + var ErrHttpRequestDo = func(ctx context.Context, cause error) error + var ErrHttpRequestEmptyClient = func(ctx context.Context) error + var ErrHttpRequestEmptyFileData = func(ctx context.Context) error + var ErrHttpRequestEmptyMethod = func(ctx context.Context) error + var ErrHttpRequestEmptyResponseFunc = func(ctx context.Context) error + var ErrHttpRequestEmptyUrl = func(ctx context.Context) error + var ErrHttpRequestInvalidStatusCode = func(ctx context.Context, code int, detail string) error + var ErrHttpRequestInvalidUrl = func(ctx context.Context, cause error) error + var ErrHttpRequestJsonMarshal = func(ctx context.Context, cause error) error + var ErrHttpRequestJsonUnmarshal = func(ctx context.Context, cause error) error + var ErrHttpRequestNew = func(ctx context.Context, cause error) error + var ErrHttpRequestReadAll = func(ctx context.Context, cause error) error + var ErrHttpRequestResponseFuncFailed = func(ctx context.Context, cause error) error + var ErrHttpRequestWriterClose = func(ctx context.Context, cause error) error + var ErrHttpRequestWriterCopy = func(ctx context.Context, cause error) error + var ErrHttpRequestWriterCreate = func(ctx context.Context, cause error) error + var ErrHttpRequestWriterWriteField = func(ctx context.Context, cause error) error + var ErrHttpSrvListen = func(cause error) error + var ErrHttpTest = func() error + var ErrHttpUrlFormVarEmpty = func(ctx context.Context, v string) error + var ErrHttpUrlFormVarNotBool = func(cause error, ctx context.Context, v string) error + var ErrHttpUrlFormVarNotFloat = func(cause error, ctx context.Context, v string) error + var ErrHttpUrlFormVarNotInt = func(cause error, ctx context.Context, v string) error + var ErrHttpUrlFormVarNotTime = func(cause error, ctx context.Context, v string) error + var ErrHttpUrlInvalidPagingSortSet = func(ctx context.Context) error + var ErrHttpUrlMaxPageSizeExceeded = func(ctx context.Context, maxPageSize int) error + var ErrHttpUrlVar = func(ctx context.Context, v string) error + var ErrHttpUrlVarEmpty = func(ctx context.Context, v string) error + var ErrHttpUrlVarInvalidUUID = func(ctx context.Context, v string) error + var ErrHttpUrlWrongSortFormat = func(ctx context.Context, v string) error + var MediaContentTypes = [...]string + func CalculateLength(ctx context.Context, reader io.Reader) (io.Reader, int64, error) + func CreateJsonReader[T any](ctx context.Context, metadata T) (io.Reader, error) + func DecodeRequest[T any](ctx context.Context, r *http.Request) (*T, error) + func ParseSortBy(ctx context.Context, sortString string) ([]*jet.SortRequest, error) + type AuthorizationResource struct + Permissions []string + Resource string + type BaseController struct + Logger jet.CLoggerFunc + func (c *BaseController) CurrentUser(ctx context.Context) (uid string, un string, err error) + func (c *BaseController) DecodeRequest(ctx context.Context, r *http.Request, body interface{}) error + func (c *BaseController) FileHeader(ctx context.Context, h *multipart.FileHeader, name string, allowEmpty bool) (string, error) + func (c *BaseController) FileHeaderJson(ctx context.Context, h *multipart.FileHeader, name string, allowEmpty bool, ...) error + func (c *BaseController) FileHeaderMetadata(ctx context.Context, h *multipart.FileHeader, name string, allowEmpty bool) (map[string]string, error) + func (c *BaseController) FileHeaderUUID(ctx context.Context, h *multipart.FileHeader, name string, allowEmpty bool) (string, error) + func (c *BaseController) FormPaging(ctx context.Context, r *http.Request, maxPageSize *int) (size *int, index *int, err error) + func (c *BaseController) FormSort(ctx context.Context, r *http.Request) ([]*jet.SortRequest, error) + func (c *BaseController) FormVal(ctx context.Context, r *http.Request, name string, allowEmpty bool) (string, error) + func (c *BaseController) FormValBool(ctx context.Context, r *http.Request, name string, allowEmpty bool) (*bool, error) + func (c *BaseController) FormValFloat(ctx context.Context, r *http.Request, name string, allowEmpty bool) (*float64, error) + func (c *BaseController) FormValInt(ctx context.Context, r *http.Request, name string, allowEmpty bool) (*int, error) + func (c *BaseController) FormValJson(ctx context.Context, r *http.Request, name string, allowEmpty bool, ...) error + func (c *BaseController) FormValList(ctx context.Context, r *http.Request, name string, allowEmpty bool) ([]string, error) + func (c *BaseController) FormValMetadata(ctx context.Context, r *http.Request, name string, allowEmpty bool) (map[string]string, error) + func (c *BaseController) FormValTime(ctx context.Context, r *http.Request, name string, allowEmpty bool) (*time.Time, error) + func (c *BaseController) FormValUUID(ctx context.Context, r *http.Request, name string, allowEmpty bool) (string, error) + func (c *BaseController) GetUploadFileMultipartContent(ctx context.Context, r *http.Request) (io.Reader, string, error) + func (c *BaseController) HasRoles(roles ...string) func(ctx context.Context, r *http.Request) (bool, error) + func (c *BaseController) MyUser(ctx context.Context, r *http.Request) (bool, error) + func (c *BaseController) RespondContent(w http.ResponseWriter, r *http.Request, opts ResponseContentOpts, file []byte) + func (c *BaseController) RespondCreated(w http.ResponseWriter, payload interface{}) + func (c *BaseController) RespondError(w http.ResponseWriter, err error) + func (c *BaseController) RespondJson(w http.ResponseWriter, httpStatus int, payload interface{}) + func (c *BaseController) RespondOK(w http.ResponseWriter, payload interface{}) + func (c *BaseController) RespondWithStatus(w http.ResponseWriter, status int, payload interface{}) + func (c *BaseController) UserIdVar(ctx context.Context, r *http.Request, varName string) (string, error) + func (c *BaseController) UserNameVar(ctx context.Context, r *http.Request, varName string) (string, error) + func (c *BaseController) Var(ctx context.Context, r *http.Request, varName string, allowEmpty bool) (string, error) + func (c *BaseController) VarUUID(ctx context.Context, r *http.Request, varName string, allowEmpty bool) (string, error) + type ConditionFn func(context.Context, *http.Request) (bool, error) + type Config struct + Cors *Cors + Port string + ReadBufferSizeBytes int + ReadTimeoutSec int + Trace bool + TraceDetails *TraceDetails + WriteBufferSizeBytes int + WriteTimeoutSec int + type Controller interface + HasRoles func(roles ...string) func(ctx context.Context, r *http.Request) (bool, error) + MyUser func(ctx context.Context, r *http.Request) (bool, error) + type Cors struct + AllowedHeaders []string + AllowedMethods []string + AllowedOrigins []string + Debug bool + Enabled bool + type Error struct + Code string + Details map[string]interface{} + Message string + Type string + func (e *Error) Error() string + type File struct + Data io.Reader + Name string + type HttpClient interface + Do func(req *http.Request) (*http.Response, error) + type MetricsProvider interface + GetCollector func() monitoring.MetricsCollector + RequestErrorInc func(ctx context.Context, metric *RequestError) + RequestLatencySet func(ctx context.Context, metric *RequestLatency) + func NewRequestMetrics(config *monitoring.Config) MetricsProvider + type MultipartRequest struct + Body *bytes.Buffer + ContentType string + func CreateMultipartRequestOnlyFiles(ctx context.Context, files []*File) (rs *MultipartRequest, err error) + func CreateMultipartRequest[T comparable](ctx context.Context, metadata T, files []*File) (rs *MultipartRequest, err error) + type Proxy struct + func NewProxy(cfg *ProxyConfig) *Proxy + func (p *Proxy) AddField(key, value string) *Proxy + func (p *Proxy) AddFile(name, fileName string, file io.Reader) *Proxy + func (p *Proxy) AddMetadataField(key string, value map[string]string) *Proxy + func (p *Proxy) Error() error + func (p *Proxy) NewRequest() *Proxy + func (p *Proxy) POST(ctx context.Context, path string, res any) error + func (p *Proxy) PUT(ctx context.Context, path string, res any) error + type ProxyConfig struct + Url string + type Request struct + func NewRq() *Request + func (r *Request) AuthBasic(user, pass string) *Request + func (r *Request) AuthBearer(token string) *Request + func (r *Request) Cl(cl HttpClient) *Request + func (r *Request) Connect() *Request + func (r *Request) ContType(content string) *Request + func (r *Request) ContentLength(length int64) *Request + func (r *Request) Delete() *Request + func (r *Request) Do(ctx context.Context) error + func (r *Request) ErrCodeFn(fn func(ctx context.Context, code int, data []byte) error) *Request + func (r *Request) ExtendedLog() *Request + func (r *Request) Fn(fn func(data []byte) error) *Request + func (r *Request) FnJson(out any) *Request + func (r *Request) Get() *Request + func (r *Request) H(name, value string) *Request + func (r *Request) Head() *Request + func (r *Request) Metrics(provider MetricsProvider) *Request + func (r *Request) Mth(method string) *Request + func (r *Request) Name(name string) *Request + func (r *Request) Options() *Request + func (r *Request) Patch() *Request + func (r *Request) Payload(payload io.Reader) *Request + func (r *Request) Post() *Request + func (r *Request) Put() *Request + func (r *Request) Stream(ctx context.Context) (*StreamReadCloser, error) + func (r *Request) Trace() *Request + func (r *Request) Url(url fmt.Stringer) *Request + func (r *Request) WithLogger(logger jet.CLogger) *Request + type RequestError struct + ErrorCode int + IntegrationName string + Url string + type RequestLatency struct + IntegrationName string + LatencyMs int64 + Url string + type ResourcePolicy interface + Resolve func(ctx context.Context, r *http.Request) (*AuthorizationResource, error) + type ResourcePolicyBuilder struct + func Resource(resource string, permissions string) *ResourcePolicyBuilder + func (a *ResourcePolicyBuilder) B() ResourcePolicy + func (a *ResourcePolicyBuilder) Resolve(ctx context.Context, r *http.Request) (*AuthorizationResource, error) + func (a *ResourcePolicyBuilder) When(f ...ConditionFn) *ResourcePolicyBuilder + func (a *ResourcePolicyBuilder) WhenNot(f ...ConditionFn) *ResourcePolicyBuilder + type ResourcePolicyManager interface + GetRequestedResources func(ctx context.Context, routeId string, r *http.Request) ([]*AuthorizationResource, error) + RegisterResourceMapping func(routeId string, policies ...ResourcePolicy) + func NewResourcePolicyManager() ResourcePolicyManager + type ResponseContentOpts struct + ContentSize int + ContentType string + Download bool + Filename string + ModifiedTime time.Time + type RouteSetter interface + Set func() error + type Server struct + RootRouter *mux.Router + Srv *http.Server + WsUpgrader *websocket.Upgrader + func NewHttpServer(cfg *Config, logger jet.CLoggerFunc) *Server + func (s *Server) Close() + func (s *Server) Listen() + func (s *Server) SetWsUpgrader(upgradeSetter WsUpgrader) + type StreamReadCloser struct + Content io.ReadCloser + ContentLength int64 + func (s *StreamReadCloser) Close() error + type TestRequest struct + func NewTestRequest(ts *testing.T, ctx context.Context) *TestRequest + func (t *TestRequest) AssertAppError(code string) *TestRequest + func (t *TestRequest) AssertCode(code int) *TestRequest + func (t *TestRequest) AssertOk() *TestRequest + func (t *TestRequest) DELETE() *TestRequest + func (t *TestRequest) GET() *TestRequest + func (t *TestRequest) Header(key, value string) *TestRequest + func (t *TestRequest) Make(controllerFn func(w http.ResponseWriter, r *http.Request)) + func (t *TestRequest) POST() *TestRequest + func (t *TestRequest) PUT() *TestRequest + func (t *TestRequest) RqBody(rq interface{}) *TestRequest + func (t *TestRequest) RsBody(rs interface{}) *TestRequest + func (t *TestRequest) Url(url string) *TestRequest + func (t *TestRequest) Var(key, value string) *TestRequest + type TraceDetails struct + RequestBody bool + Response bool + ResponseBody bool + type Url struct + func NewUrl() *Url + func (u *Url) Params(params map[string]string) *Url + func (u *Url) Path(path string) *Url + func (u *Url) Pathf(path string, a ...any) *Url + func (u *Url) String() string + func (u *Url) Url(url string) *Url + type WsUpgrader interface + Set func(router *mux.Router, upgrader *websocket.Upgrader)