Versions in this module Expand all Collapse all v1 v1.5.1 Jun 11, 2025 v1.5.0 Jun 9, 2025 Changes in this version + const ConnChCtx + const ConnCtx + const LogHandlerDefaultMaxBodySize + const ParamMaxBodyBytes + var AcceptanceInterrupt = &DefaultAcceptanceInterrupt + var DefaultSessionType = SessionTypeMemory + var NotImplemented = erresponse.NotImplemented + var ParamAcceptWaitCount channel.ParamKey = "accept_wait_count" + var ParamIdleTimeout channel.ParamKey = "idle_timeout" + var ParamMaxHeaderBytes channel.ParamKey = "max_header_bytes" + var ParamReadHeaderTimeout channel.ParamKey = "read_header_timeout" + var ParamReadTimeout channel.ParamKey = "read_timeout" + var ParamWriteTimeout channel.ParamKey = "write_timeout" + var SessionDomain = "" + var SessionExpireTime = 86400 + var SessionHttpOnly = false + var SessionKey = "KKLAB" + var SessionSecure = false + func DefaultProvider() httpsession.SessionProvider + func GetSession(req *Request) httpsession.Session + func NewEndPoint(name string, task HandlerTask, acceptances []Acceptance) *_EndPoint + func NewGroup(name string, acceptances []Acceptance) *_RouteGroup + type Acceptance interface + Do func(req *Request, resp *Response, params map[string]any) error + SkipMethodOptions func() bool + type Channel struct + func (c *Channel) UnsafeIsAutoRead() bool + func (c *Channel) UnsafeRead() (any, error) + func (c *Channel) UnsafeWrite(obj any) error + type DefaultAcceptanceInterrupt struct + func (DefaultAcceptanceInterrupt) Error() string + type DefaultHTTPHandlerTask struct + func (h *DefaultHTTPHandlerTask) After(req *Request, resp *Response, params map[string]any) ErrorResponse + func (h *DefaultHTTPHandlerTask) Before(req *Request, resp *Response, params map[string]any) ErrorResponse + func (h *DefaultHTTPHandlerTask) CORSHelper(req *Request, resp *Response, params map[string]any) + func (h *DefaultHTTPHandlerTask) Connect(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + func (h *DefaultHTTPHandlerTask) Create(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + func (h *DefaultHTTPHandlerTask) Delete(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + func (h *DefaultHTTPHandlerTask) ErrorCaught(req *Request, resp *Response, params map[string]any, err ErrorResponse) error + func (h *DefaultHTTPHandlerTask) Get(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + func (h *DefaultHTTPHandlerTask) Index(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + func (h *DefaultHTTPHandlerTask) Options(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + func (h *DefaultHTTPHandlerTask) Patch(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + func (h *DefaultHTTPHandlerTask) Post(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + func (h *DefaultHTTPHandlerTask) PreCheck(req *Request, resp *Response, params map[string]any) ErrorResponse + func (h *DefaultHTTPHandlerTask) Put(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + func (h *DefaultHTTPHandlerTask) SSEMode(ctx channel.HandlerContext, req *Request, resp *Response, ...) SSEOperation + func (h *DefaultHTTPHandlerTask) ThrowErrorResponse(err ErrorResponse) + func (h *DefaultHTTPHandlerTask) Trace(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + type DefaultHandlerTask struct + func NewDefaultHandlerTask() *DefaultHandlerTask + func (h *DefaultHandlerTask) GetID(name string, params map[string]any) string + func (h *DefaultHandlerTask) GetNodeName(params map[string]any) string + func (h *DefaultHandlerTask) IsIndex(params map[string]any) bool + func (h *DefaultHandlerTask) LogExtend(key string, value any, params map[string]any) + type DefaultRoute struct + func NewRoute() *DefaultRoute + func (r *DefaultRoute) AddEndPoint(point *_EndPoint) *DefaultRoute + func (r *DefaultRoute) AddGroup(group *_RouteGroup) *DefaultRoute + func (r *DefaultRoute) AddRecursivePoint(point *_EndPoint) *DefaultRoute + func (r *DefaultRoute) RouteNode(path string) (node RouteNode, nodeParams map[string]any, isLast bool) + func (r *DefaultRoute) SetRoot(point *_EndPoint) *DefaultRoute + type DefaultSSEOperation struct + func (h *DefaultSSEOperation) WriteHeader(ctx channel.HandlerContext, header http.Header, params map[string]any) channel.Future + func (h *DefaultSSEOperation) WriteMessage(ctx channel.HandlerContext, message SSEMessage, params map[string]any) channel.Future + func (h *DefaultSSEOperation) WriteMessages(ctx channel.HandlerContext, messages []SSEMessage, params map[string]any) channel.Future + type DispatchAcceptance struct + func (a *DispatchAcceptance) Do(req *Request, resp *Response, params map[string]any) error + func (a *DispatchAcceptance) GetID(name string, params map[string]any) string + func (a *DispatchAcceptance) GetNodeName(params map[string]any) string + func (a *DispatchAcceptance) IsIndex(params map[string]any) string + func (a *DispatchAcceptance) LogExtend(key string, value any, params map[string]any) + func (a *DispatchAcceptance) SkipMethodOptions() bool + type DispatchHandler struct + DefaultStatusCode int + DefaultStatusResponse map[int]func(req *Request, resp *Response, params map[string]any) + func NewDispatchHandler(route Route) *DispatchHandler + func (h *DispatchHandler) ErrorCaught(ctx channel.HandlerContext, err error) + func (h *DispatchHandler) Read(ctx channel.HandlerContext, obj any) + type ErrorResponse interface + type ErrorResponseImpl struct + Caught *kkpanic.CaughtImpl + func (e *ErrorResponseImpl) String() string + type GZipHandler struct + CompressThreshold int + func (h *GZipHandler) Added(ctx channel.HandlerContext) + func (h *GZipHandler) Write(ctx channel.HandlerContext, obj any, future channel.Future) + type HandlerTask interface + GetID func(name string, params map[string]any) string + GetNodeName func(params map[string]any) string + type HttpHandlerTask interface + After func(req *Request, resp *Response, params map[string]any) ErrorResponse + Before func(req *Request, resp *Response, params map[string]any) ErrorResponse + CORSHelper func(req *Request, resp *Response, params map[string]any) + ErrorCaught func(req *Request, resp *Response, params map[string]any, err ErrorResponse) error + PreCheck func(req *Request, resp *Response, params map[string]any) ErrorResponse + type HttpTask interface + Connect func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + Create func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + Delete func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + Get func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + Index func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + Options func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + Patch func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + Post func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + Put func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + Trace func(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + type LanguageValue struct + Factor float32 + Value language.Tag + type LogHandler struct + FilterFunc func(req *Request, resp *Response, params map[string]any) bool + MaxBodySize int + func NewLogHandler(printBody bool) *LogHandler + func (h *LogHandler) Read(ctx channel.HandlerContext, obj any) + func (h *LogHandler) Write(ctx channel.HandlerContext, obj any, future channel.Future) + type LogStruct struct + AcceptTime int64 + ChannelID string + CompressTime int64 + Extend any + HAcceptanceTime int64 + HErrorTime int64 + HLocateTime int64 + HandlerTime int64 + Method string + ProcessTime int64 + RemoteAddr string + RemoteAddrs string + Request *RequestLogStruct + Response *ResponseLogStruct + StatusCode int + TrackID string + URI string + type ObjectLogStruct struct + ChannelID string + Handler string + Message any + RemoteAddr string + State string + TrackID string + URI string + type Pack struct + Params map[string]any + Request *Request + Response *Response + RouteNode RouteNode + Writer ResponseWriter + type QualityValue struct + Factor float32 + Value string + type ReadRequestLogStruct struct + ChannelID string + RemoteAddr string + RemoteAddrs string + Request *RequestLogStruct + TrackID string + URI string + type Request struct + func WrapRequest(ch channel.Channel, req *ghttp.Request) *Request + func (r *Request) Accept() []QualityValue + func (r *Request) AcceptCharset() []QualityValue + func (r *Request) AcceptEncoding() []QualityValue + func (r *Request) AcceptLanguage() []LanguageValue + func (r *Request) AddCookie(c *ghttp.Cookie) + func (r *Request) Body() buf.ByteBuf + func (r *Request) Channel() channel.Channel + func (r *Request) ContentLength() int64 + func (r *Request) Cookie(name string) (*ghttp.Cookie, error) + func (r *Request) Cookies() []*ghttp.Cookie + func (r *Request) CreatedAt() *time.Time + func (r *Request) FormFile(key string) (multipart.File, *multipart.FileHeader, error) + func (r *Request) FormValue(key string) string + func (r *Request) Header() ghttp.Header + func (r *Request) Host() string + func (r *Request) Method() string + func (r *Request) Origin() string + func (r *Request) PreferLang() *language.Tag + func (r *Request) Proto() string + func (r *Request) Referer() string + func (r *Request) RemoteAddr() (ip net.IP, port string) + func (r *Request) RemoteAddrs() []string + func (r *Request) RemoteIP() (ip net.IP) + func (r *Request) RenewSession() + func (r *Request) Request() *ghttp.Request + func (r *Request) RequestURI() string + func (r *Request) Session() httpsession.Session + func (r *Request) TE() []QualityValue + func (r *Request) TrackID() string + func (r *Request) Url() *url.URL + func (r *Request) UserAgent() string + type RequestLogStruct struct + Body string + BodyLength int + HOST string + Headers map[string]any + Method string + URI string + type Response struct + func EmptyResponse() *Response + func NewResponse(request *Request) *Response + func WrapResponse(ch channel.NetChannel, response *ghttp.Response) *Response + func (r *Response) AddHeader(name string, value string) *Response + func (r *Response) Body() buf.ByteBuf + func (r *Response) Cookie(name string) *ghttp.Cookie + func (r *Response) Cookies() map[string][]ghttp.Cookie + func (r *Response) DelHeader(name string) *Response + func (r *Response) DoneFuture() channel.Future + func (r *Response) GetHeader(name string) string + func (r *Response) Header() ghttp.Header + func (r *Response) JsonResponse(obj any) + func (r *Response) Redirect(redirectUrl string) + func (r *Response) Request() *Request + func (r *Response) ResponseError(er ErrorResponse) + func (r *Response) SetBody(buf buf.ByteBuf) + func (r *Response) SetContentType(ct string) + func (r *Response) SetCookie(cookie *ghttp.Cookie) *Response + func (r *Response) SetHeader(name string, value string) *Response + func (r *Response) SetStatusCode(statusCode int) *Response + func (r *Response) StatusCode() int + func (r *Response) TextResponse(buf buf.ByteBuf) + type ResponseLogStruct struct + Body string + Headers map[string]any + OutBodyLength int + PreCompressLength int + StatusCode int + URI string + type ResponseWriter interface + type ReturnCatch struct + type Route interface + RouteNode func(path string) (node RouteNode, nodeParams map[string]any, isLast bool) + type RouteNode interface + Acceptances func() []Acceptance + AggregatedAcceptances func() []Acceptance + HandlerTask func() HandlerTask + Name func() string + Parent func() RouteNode + Resources func() map[string]RouteNode + RouteType func() RouteType + type RouteType int + const RouteTypeEndPoint + const RouteTypeGroup + const RouteTypeRecursiveEndPoint + const RouteTypeRootEndPoint + type SSEMessage struct + Comment string + Data []string + Event string + Id string + Retry int + func (m SSEMessage) Validate() bool + type SSEMessages []SSEMessage + type SSEOperation interface + WriteHeader func(ctx channel.HandlerContext, header http.Header, params map[string]any) channel.Future + WriteMessage func(ctx channel.HandlerContext, message SSEMessage, params map[string]any) channel.Future + WriteMessages func(ctx channel.HandlerContext, messages []SSEMessage, params map[string]any) channel.Future + type ServerChannel struct + func (c *ServerChannel) IsActive() bool + func (c *ServerChannel) ServeHTTP(w http.ResponseWriter, r *http.Request) + func (c *ServerChannel) UnsafeAccept() (channel.Channel, channel.Future) + func (c *ServerChannel) UnsafeBind(localAddr net.Addr) error + func (c *ServerChannel) UnsafeClose() error + type SessionType string + const SessionTypeMemory + const SessionTypeRedis + type SimpleRoute struct + func NewSimpleRoute() *SimpleRoute + func (r *SimpleRoute) FindNode(path string) RouteNode + func (r *SimpleRoute) RouteNode(path string) (node RouteNode, parameters map[string]any, isLast bool) + func (r *SimpleRoute) SetEndpoint(path string, handler HandlerTask, acceptances ...Acceptance) *SimpleRoute + func (r *SimpleRoute) SetGroup(path string, acceptances ...Acceptance) *SimpleRoute + func (r *SimpleRoute) SetRoot(handler HandlerTask, acceptances ...Acceptance) *SimpleRoute + func (r *SimpleRoute) String() string + type StaticFilesHandlerTask struct + DoCache bool + DoMinify bool + FolderPath string + func NewStaticFilesHandlerTask(folderPath string) *StaticFilesHandlerTask + func (h *StaticFilesHandlerTask) Get(ctx channel.HandlerContext, req *Request, resp *Response, ...) ErrorResponse + type TaskHelper struct + func (h *TaskHelper) GetID(name string, params map[string]any) string + func (h *TaskHelper) GetNode(params map[string]any) RouteNode + func (h *TaskHelper) GetNodeName(params map[string]any) string + func (h *TaskHelper) IsIndex(params map[string]any) bool + func (h *TaskHelper) LogExtend(key string, value any, params map[string]any)