Documentation ¶
Index ¶
- Variables
- func ClientIP(r *http.Request) string
- func ClientPublicIP(r *http.Request) string
- func HasLocalIPAddr(ip net.IP) bool
- func LoggerMiddleware() func(*HTTPContext)
- func RemoteIP(r *http.Request) string
- func ValidatorMiddleware(a ...string) func(*HTTPContext)
- type HTTPContext
- func (c *HTTPContext) BindJSON(v any) error
- func (c *HTTPContext) Debug(msg string, args ...any)
- func (c *HTTPContext) Error(msg string, args ...any)
- func (c *HTTPContext) Get(k string) (v any, b bool)
- func (c *HTTPContext) Info(msg string, args ...any)
- func (c *HTTPContext) JSON(status int, v any)
- func (c *HTTPContext) Next()
- func (c *HTTPContext) Set(k string, v any)
- func (c *HTTPContext) String(status int, msg string)
- func (c *HTTPContext) Warn(msg string, args ...any)
- type IPAdmission
- type JWT
- type MemoryFile
- type WRoute
- func (r *WRoute) CacheFS(dir string, mf *MemoryFile, group ...func(*HTTPContext)) error
- func (r *WRoute) CacheFile(file string, mf *MemoryFile, group ...func(*HTTPContext)) error
- func (r *WRoute) DELETE(pattern string, fn ...func(*HTTPContext))
- func (r *WRoute) GET(pattern string, fn ...func(*HTTPContext))
- func (r *WRoute) POST(pattern string, fn ...func(*HTTPContext))
- func (r *WRoute) SetDebugMode(b bool)
Constants ¶
This section is empty.
Variables ¶
DefaultMarshal 缺省JSON编码器
DefaultUnmarshal 缺省JSON解码器
View Source
var HTTPContextPool = sync.Pool{ New: func() interface{} { return &HTTPContext{} }, }
View Source
var IPAdmissioneEmpty struct{}
Functions ¶
func ClientIP ¶
ClientIP 尽最大努力实现获取客户端 IP 的算法。 解析 X-Real-IP 和 X-Forwarded-For 以便于反向代理(nginx 或 haproxy)可以正常工作。
func ClientPublicIP ¶
ClientPublicIP 尽最大努力实现获取客户端公网 IP 的算法。 解析 X-Real-IP 和 X-Forwarded-For 以便于反向代理(nginx 或 haproxy)可以正常工作。
func HasLocalIPAddr ¶
HasLocalIPAddr 检测 IP 地址是否是内网地址 通过直接对比ip段范围效率更高,详见:https://github.com/thinkeridea/go-extend/issues/2
func ValidatorMiddleware ¶
func ValidatorMiddleware(a ...string) func(*HTTPContext)
ValidatorMiddleware 输入参数验证
Types ¶
type HTTPContext ¶
type HTTPContext struct { Writer http.ResponseWriter Request *http.Request // contains filtered or unexported fields }
HTTPContext 上下文
func (*HTTPContext) Debug ¶
func (c *HTTPContext) Debug(msg string, args ...any)
func (*HTTPContext) Error ¶
func (c *HTTPContext) Error(msg string, args ...any)
func (*HTTPContext) Info ¶
func (c *HTTPContext) Info(msg string, args ...any)
func (*HTTPContext) String ¶
func (c *HTTPContext) String(status int, msg string)
String 带有状态码的纯文本响应
func (*HTTPContext) Warn ¶
func (c *HTTPContext) Warn(msg string, args ...any)
type IPAdmission ¶
IPAdmission IP准入
func NewIPAdmission ¶
func NewIPAdmission() *IPAdmission
func (*IPAdmission) BlacklistMiddleware ¶
func (f *IPAdmission) BlacklistMiddleware() func(*HTTPContext)
BlacklistMiddleware 黑名单。
func (*IPAdmission) RemoveNode ¶
func (f *IPAdmission) RemoveNode(line string) error
RemoveNode 移除规则
func (*IPAdmission) WhitelistMiddleware ¶
func (f *IPAdmission) WhitelistMiddleware() func(*HTTPContext)
WhitelistMiddleware 白名单。
type MemoryFile ¶
type MemoryFile struct {
// contains filtered or unexported fields
}
func (*MemoryFile) CacheTemplate ¶
func (mf *MemoryFile) CacheTemplate(parseFiles, key string, data any) error
CacheTemplate 缓存模板
type WRoute ¶
type WRoute struct {
// contains filtered or unexported fields
}
WRoute 路由
func (*WRoute) CacheFS ¶
func (r *WRoute) CacheFS(dir string, mf *MemoryFile, group ...func(*HTTPContext)) error
func (*WRoute) CacheFile ¶
func (r *WRoute) CacheFile(file string, mf *MemoryFile, group ...func(*HTTPContext)) error
CacheFile 缓存单个静态文件
func (*WRoute) SetDebugMode ¶
Click to show internal directories.
Click to hide internal directories.