Documentation
¶
Index ¶
- type CorsConfig
- type ErrorFormatter
- type GemConfig
- func WithAddr(addr string) GemConfig
- func WithCors(cfg *CorsConfig) GemConfig
- func WithCorsDefault() GemConfig
- func WithErrorFormatter(f ErrorFormatter) GemConfig
- func WithHealth(handler GemHandler) GemConfig
- func WithIdleTimeout(d time.Duration) GemConfig
- func WithJSONFileLogger(path string, level slog.Level) GemConfig
- func WithJSONLogger(w io.Writer, level slog.Level) GemConfig
- func WithJSONRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
- func WithJSONTeeLogger(path string, level slog.Level) GemConfig
- func WithJSONTeeRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
- func WithLogCloser(c io.Closer) GemConfig
- func WithLogger(l *slog.Logger) GemConfig
- func WithMethodNotAllowed(handler GemHandler) GemConfig
- func WithMiddleware(middleware Middleware) GemConfig
- func WithMiddlewares(middlewares []Middleware) GemConfig
- func WithName(name string) GemConfig
- func WithPort(port string) GemConfig
- func WithPrometheus(metricsPath string) GemConfig
- func WithReadTimeout(d time.Duration) GemConfig
- func WithResponseFormatter(f ResponseFormatter) GemConfig
- func WithShutdownTimeout(d time.Duration) GemConfig
- func WithSplitLogger(path string, level slog.Level) GemConfig
- func WithSplitRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
- func WithTextFileLogger(path string, level slog.Level) GemConfig
- func WithTextLogger(w io.Writer, level slog.Level) GemConfig
- func WithTextRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
- func WithTextTeeLogger(path string, level slog.Level) GemConfig
- func WithTextTeeRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
- func WithTrustedProxy() GemConfig
- func WithVersion(version string) GemConfig
- func WithWriteTimeout(d time.Duration) GemConfig
- type GemContext
- func (context *GemContext) Context() context.Context
- func (context *GemContext) Cookie(name string) (string, error)
- func (context *GemContext) Copy() *GemContext
- func (context *GemContext) DeleteCookie(name string)
- func (context *GemContext) Fail(code int, errs ...any)
- func (context *GemContext) FromJSON(data any) error
- func (context *GemContext) Get(key string) string
- func (context *GemContext) GetClientIP() string
- func (context *GemContext) GetUserAgent() string
- func (context *GemContext) Header(key string) string
- func (context *GemContext) Method() string
- func (context *GemContext) NOTFOUND()
- func (context *GemContext) NoContent(code int)
- func (context *GemContext) OK()
- func (context *GemContext) Param(key string) string
- func (context *GemContext) Path() string
- func (context *GemContext) Query(key string) string
- func (context *GemContext) RequestID() string
- func (context *GemContext) Set(key, value string)
- func (context *GemContext) SetCookie(name, value string, maxAge int, path, domain string, secure, httpOnly bool)
- func (context *GemContext) SetParam(key, value string)
- func (context *GemContext) Status(code int)
- func (context *GemContext) StatusCode() int
- func (context *GemContext) String(code int, text string)
- func (context *GemContext) Success(code int, data any)
- func (context *GemContext) ToJSON(code int, data any)
- type GemGroup
- func (g *GemGroup) DELETE(pattern string, handler GemHandler)
- func (g *GemGroup) GET(pattern string, handler GemHandler)
- func (g *GemGroup) Group(prefix string, middlewares ...Middleware) *GemGroup
- func (g *GemGroup) PATCH(pattern string, handler GemHandler)
- func (g *GemGroup) POST(pattern string, handler GemHandler)
- func (g *GemGroup) PUT(pattern string, handler GemHandler)
- func (g *GemGroup) Use(m Middleware)
- type GemHandler
- type GemRouter
- func (r *GemRouter) ConsoleWriter() io.Writer
- func (r *GemRouter) DELETE(pattern string, handler GemHandler)
- func (r *GemRouter) GET(pattern string, handler GemHandler)
- func (r *GemRouter) Group(prefix string, middlewares ...Middleware) *GemGroup
- func (r *GemRouter) HandleSystemErrors()
- func (r *GemRouter) PATCH(pattern string, handler GemHandler)
- func (r *GemRouter) POST(pattern string, handler GemHandler)
- func (r *GemRouter) PUT(pattern string, handler GemHandler)
- func (r *GemRouter) Run() error
- func (r *GemRouter) ServeHTTP(w http.ResponseWriter, req *http.Request)
- func (r *GemRouter) Use(middleware Middleware)
- type JSON
- type LogRotateConfig
- type Middleware
- type ResponseFormatter
- type Rule
- func And(rules ...Rule) Rule
- func Email(ev validators.EmailChecker) Rule
- func Empty() Rule
- func Enum(valid func() bool, message string) Rule
- func If(do bool, rules ...Rule) Rule
- func Len(n int) Rule
- func Max(n int) Rule
- func Min(n int) Rule
- func NotEmpty() Rule
- func NotNull() Rule
- func Null() Rule
- func Or(rules ...Rule) Rule
- func Required() Rule
- type ValidationError
- type Validator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CorsConfig ¶ added in v0.0.5
type GemConfig ¶ added in v0.0.3
type GemConfig func(router *GemRouter)
func WithCors ¶ added in v0.0.5
func WithCors(cfg *CorsConfig) GemConfig
func WithCorsDefault ¶ added in v0.0.5
func WithCorsDefault() GemConfig
func WithErrorFormatter ¶ added in v0.0.12
func WithErrorFormatter(f ErrorFormatter) GemConfig
func WithHealth ¶ added in v0.0.3
func WithHealth(handler GemHandler) GemConfig
func WithIdleTimeout ¶ added in v0.0.7
func WithJSONFileLogger ¶ added in v0.0.12
func WithJSONRotateLogger ¶ added in v0.0.12
func WithJSONRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
func WithJSONTeeLogger ¶ added in v0.0.12
func WithJSONTeeRotateLogger ¶ added in v0.0.12
func WithJSONTeeRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
func WithLogCloser ¶ added in v0.0.12
func WithLogger ¶ added in v0.0.5
func WithMethodNotAllowed ¶ added in v0.0.8
func WithMethodNotAllowed(handler GemHandler) GemConfig
func WithMiddleware ¶ added in v0.0.3
func WithMiddleware(middleware Middleware) GemConfig
func WithMiddlewares ¶ added in v0.0.3
func WithMiddlewares(middlewares []Middleware) GemConfig
func WithPrometheus ¶ added in v0.0.6
func WithReadTimeout ¶ added in v0.0.7
func WithResponseFormatter ¶ added in v0.0.12
func WithResponseFormatter(f ResponseFormatter) GemConfig
func WithShutdownTimeout ¶ added in v0.0.5
func WithSplitLogger ¶ added in v0.0.12
func WithSplitRotateLogger ¶ added in v0.0.12
func WithSplitRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
func WithTextFileLogger ¶ added in v0.0.12
func WithTextRotateLogger ¶ added in v0.0.12
func WithTextRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
func WithTextTeeLogger ¶ added in v0.0.12
func WithTextTeeRotateLogger ¶ added in v0.0.12
func WithTextTeeRotateLogger(cfg LogRotateConfig, level slog.Level) GemConfig
func WithTrustedProxy ¶ added in v0.0.5
func WithTrustedProxy() GemConfig
func WithVersion ¶ added in v0.0.11
func WithWriteTimeout ¶ added in v0.0.7
type GemContext ¶
type GemContext struct {
Writer http.ResponseWriter
Request *http.Request
Logger *slog.Logger
Pattern string
// contains filtered or unexported fields
}
func NewTestContext ¶ added in v0.0.15
func NewTestContext(w http.ResponseWriter, r *http.Request) *GemContext
func (*GemContext) Context ¶ added in v0.0.41
func (context *GemContext) Context() context.Context
func (*GemContext) Cookie ¶ added in v0.0.5
func (context *GemContext) Cookie(name string) (string, error)
func (*GemContext) Copy ¶ added in v0.0.5
func (context *GemContext) Copy() *GemContext
func (*GemContext) DeleteCookie ¶ added in v0.0.5
func (context *GemContext) DeleteCookie(name string)
func (*GemContext) Fail ¶ added in v0.0.12
func (context *GemContext) Fail(code int, errs ...any)
func (*GemContext) FromJSON ¶ added in v0.0.5
func (context *GemContext) FromJSON(data any) error
func (*GemContext) Get ¶
func (context *GemContext) Get(key string) string
func (*GemContext) GetClientIP ¶ added in v0.0.40
func (context *GemContext) GetClientIP() string
func (*GemContext) GetUserAgent ¶ added in v0.0.40
func (context *GemContext) GetUserAgent() string
func (*GemContext) Header ¶
func (context *GemContext) Header(key string) string
func (*GemContext) Method ¶
func (context *GemContext) Method() string
func (*GemContext) NOTFOUND ¶ added in v0.0.3
func (context *GemContext) NOTFOUND()
func (*GemContext) NoContent ¶
func (context *GemContext) NoContent(code int)
func (*GemContext) OK ¶
func (context *GemContext) OK()
func (*GemContext) Param ¶
func (context *GemContext) Param(key string) string
func (*GemContext) Path ¶
func (context *GemContext) Path() string
func (*GemContext) Query ¶
func (context *GemContext) Query(key string) string
func (*GemContext) RequestID ¶ added in v0.0.5
func (context *GemContext) RequestID() string
func (*GemContext) Set ¶
func (context *GemContext) Set(key, value string)
func (*GemContext) SetCookie ¶ added in v0.0.5
func (context *GemContext) SetCookie(name, value string, maxAge int, path, domain string, secure, httpOnly bool)
func (*GemContext) SetParam ¶ added in v0.0.19
func (context *GemContext) SetParam(key, value string)
func (*GemContext) Status ¶
func (context *GemContext) Status(code int)
func (*GemContext) StatusCode ¶
func (context *GemContext) StatusCode() int
func (*GemContext) String ¶
func (context *GemContext) String(code int, text string)
func (*GemContext) Success ¶ added in v0.0.12
func (context *GemContext) Success(code int, data any)
func (*GemContext) ToJSON ¶
func (context *GemContext) ToJSON(code int, data any)
type GemGroup ¶
type GemGroup struct {
// contains filtered or unexported fields
}
func (*GemGroup) DELETE ¶
func (g *GemGroup) DELETE(pattern string, handler GemHandler)
func (*GemGroup) GET ¶
func (g *GemGroup) GET(pattern string, handler GemHandler)
func (*GemGroup) Group ¶ added in v0.0.5
func (g *GemGroup) Group(prefix string, middlewares ...Middleware) *GemGroup
func (*GemGroup) PATCH ¶
func (g *GemGroup) PATCH(pattern string, handler GemHandler)
func (*GemGroup) POST ¶
func (g *GemGroup) POST(pattern string, handler GemHandler)
func (*GemGroup) PUT ¶
func (g *GemGroup) PUT(pattern string, handler GemHandler)
func (*GemGroup) Use ¶ added in v0.0.5
func (g *GemGroup) Use(m Middleware)
type GemHandler ¶
type GemHandler func(ctx *GemContext)
func Logger ¶
func Logger(next GemHandler) GemHandler
func Recovery ¶
func Recovery(next GemHandler) GemHandler
type GemRouter ¶
type GemRouter struct {
Addr string
Port string
Health GemHandler
// contains filtered or unexported fields
}
func BasicGemRouter ¶ added in v0.0.6
func BasicGemRouter() *GemRouter
func DefaultGemRouter ¶ added in v0.0.5
func DefaultGemRouter() *GemRouter
func NewGemRouter ¶
func (*GemRouter) ConsoleWriter ¶ added in v0.0.14
func (*GemRouter) DELETE ¶
func (r *GemRouter) DELETE(pattern string, handler GemHandler)
func (*GemRouter) GET ¶
func (r *GemRouter) GET(pattern string, handler GemHandler)
func (*GemRouter) Group ¶
func (r *GemRouter) Group(prefix string, middlewares ...Middleware) *GemGroup
func (*GemRouter) HandleSystemErrors ¶ added in v0.0.17
func (r *GemRouter) HandleSystemErrors()
func (*GemRouter) PATCH ¶
func (r *GemRouter) PATCH(pattern string, handler GemHandler)
func (*GemRouter) POST ¶
func (r *GemRouter) POST(pattern string, handler GemHandler)
func (*GemRouter) PUT ¶
func (r *GemRouter) PUT(pattern string, handler GemHandler)
func (*GemRouter) ServeHTTP ¶ added in v0.0.15
func (r *GemRouter) ServeHTTP(w http.ResponseWriter, req *http.Request)
func (*GemRouter) Use ¶
func (r *GemRouter) Use(middleware Middleware)
type LogRotateConfig ¶ added in v0.0.12
type Middleware ¶
type Middleware func(GemHandler) GemHandler
func Cors ¶ added in v0.0.5
func Cors(cfg *CorsConfig) Middleware
func Timeout ¶ added in v0.0.5
func Timeout(d time.Duration) Middleware
type ResponseFormatter ¶ added in v0.0.12
type Rule ¶ added in v0.0.22
type Rule func(value any) *ValidationError
func Email ¶ added in v0.0.22
func Email(ev validators.EmailChecker) Rule
type ValidationError ¶ added in v0.0.8
type Validator ¶ added in v0.0.23
type Validator struct {
EmailValidator validators.EmailChecker
// contains filtered or unexported fields
}
func NewValidator ¶ added in v0.0.8
func NewValidator() *Validator
func (*Validator) Errors ¶ added in v0.0.23
func (v *Validator) Errors() []ValidationError
func (*Validator) SetEmailValidator ¶ added in v0.0.24
func (v *Validator) SetEmailValidator(ev validators.EmailChecker) *Validator
Source Files
¶
Click to show internal directories.
Click to hide internal directories.