Documentation
¶
Overview ¶
package Http * @Author: Chris * @Date: 2023-03-29 11:04:12 * @LastEditors: Strong * @LastEditTime: 2025-03-21 15:54:08 * @Description: 请填写简介 * @Author: Chris * @Date: 2024-06-12 17:53:09 * @LastEditors: Chris * @LastEditTime: 2025-03-14 12:09:32 * @Description: 请填写简介 * @Author: Chris * @Date: 2024-06-12 13:24:32 * @LastEditors: Chris * @LastEditTime: 2025-03-14 16:53:09 * @Description: 请填写简介 * @Author: Chris * @Date: 2025-03-17 00:14:34 * @LastEditors: Chris * @LastEditTime: 2025-03-17 01:08:54 * @Description: 请填写简介 * @Author: Chris * @Date: 2024-05-31 14:03:31 * @LastEditors: Strong * @LastEditTime: 2025-03-21 15:55:30 * @Description: 请填写简介 * @Author: Chris * @Date: 2023-06-13 23:17:20 * @LastEditors: Chris * @LastEditTime: 2025-03-09 22:26:01 * @Description: 请填写简介 * @Author: Chris * @Date: 2024-07-12 15:38:38 * @LastEditors: Chris * @LastEditTime: 2025-03-13 01:03:01 * @Description: 请填写简介 * @Author: Chris * @Date: 2024-05-16 22:38:04 * @LastEditors: Chris * @LastEditTime: 2025-03-14 10:54:28 * @Description: 请填写简介 * @Author: Chris.Liu * @Date: 2024-07-31 11:55:13 * @LastEditors: Chris * @LastEditTime: 2025-03-10 11:37:29 * @Description: 请填写简介
Index ¶
- func BadRequest(w http.ResponseWriter, msg string, debug ...any)
- func BodyTOStruct(r *http.Request, v any) error
- func DNS01Challenge(dnsProvider DNSProvider, domains []string, cacheDir, mail, checkTime string, ...) (*tls.Config, error)
- func DefaultHeader(w http.ResponseWriter)
- func Error(w http.ResponseWriter, code int, message string, debug ...any)
- func Forbidden(w http.ResponseWriter, msg string, debug ...any)
- func GetContext(r *http.Request, key string) any
- func GetHeader(r *http.Request) map[string]string
- func GetQuery(r *http.Request, v any) error
- func HTTP01Challenge(domains []string, cacheDir, mail string) *tls.Config
- func Html(w http.ResponseWriter, templateName string, data any)
- func LogAccess(r *http.Request, status int, bytesWritten int)
- func LogDebug(msg string, skip int)
- func LogError(r *http.Request, status int, bytesWritten int, msg string)
- func NewLog(dirPath string, maxSize int, maxBackups int, maxAge int, ...) (err error)
- func NewTemplates(templateDir ...string) (err error)
- func NotFound(w http.ResponseWriter, msg string, debug ...any)
- func PathValue(r *http.Request, v any) error
- func Permission(authName string, authorityFunc func(*http.Request, string) bool, ...) http.HandlerFunc
- func SetContext(r *http.Request, key string, value any) *http.Request
- func Success(w http.ResponseWriter, data any, debug ...any)
- func SuccessCreated(w http.ResponseWriter, debug ...any)
- func SuccessNoContent(w http.ResponseWriter, debug ...any)
- func TimeoutFail(w http.ResponseWriter, debug ...any)
- func Unauthorized(w http.ResponseWriter, msg string, debug ...any)
- func WriteJson(w http.ResponseWriter, code int, message string, data any, debug ...any)
- type CtxKey
- type DNSCertManager
- func (m *DNSCertManager) CheckAndRenewCertificates(lessDayRenew int) error
- func (m *DNSCertManager) CheckCertificateExpiry(domain string) (int, error)
- func (m *DNSCertManager) GetCertificate(hello *tls.ClientHelloInfo) (*tls.Certificate, error)
- func (m *DNSCertManager) GetCertificateFunc() func(*tls.ClientHelloInfo) (*tls.Certificate, error)
- func (m *DNSCertManager) IsCertificateExpiringSoon(domain string) (bool, error)
- func (m *DNSCertManager) RenewCertificate(domain string) error
- func (m *DNSCertManager) StartCertificateExpiryMonitor(checkTime string, lessDayRenew int)
- type DNSProvider
- type H
- type HtmlTemplate
- type RESTful
- type RouterHandle
- func (router *RouterHandle) Delete(path string, handler http.HandlerFunc)
- func (router *RouterHandle) FilesServer(path, dir string)
- func (router *RouterHandle) Get(path string, handler http.HandlerFunc)
- func (router *RouterHandle) Head(path string, handler http.HandlerFunc)
- func (router *RouterHandle) Options(path string, handler http.HandlerFunc)
- func (router *RouterHandle) Patch(path string, handler http.HandlerFunc)
- func (router *RouterHandle) Post(path string, handler http.HandlerFunc)
- func (router *RouterHandle) Put(path string, handler http.HandlerFunc)
- func (router *RouterHandle) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (router *RouterHandle) SetAuth(authPath string, authFunc auth)
- func (router *RouterHandle) SetContextSetter(setter func(*http.Request) *http.Request)
- func (router *RouterHandle) SetHeader(f func(w http.ResponseWriter))
- func (router *RouterHandle) SetOnEvicted(f func(http.ResponseWriter, *http.Request) bool)
- func (router *RouterHandle) SetSign(signPath string, signfunc sign)
- func (router *RouterHandle) SetTimeout(timeout time.Duration)
- type Session
- type SessionMgr
- func (mgr *SessionMgr) CheckCookieValid(r *http.Request) string
- func (mgr *SessionMgr) End(w http.ResponseWriter, r *http.Request)
- func (mgr *SessionMgr) EndSessionBy(sessionID string)
- func (mgr *SessionMgr) GC()
- func (mgr *SessionMgr) Get(sessionID string, key interface{}) (interface{}, bool)
- func (mgr *SessionMgr) GetLastAccessTime(sessionID string) time.Time
- func (mgr *SessionMgr) GetSessionIDList() []string
- func (mgr *SessionMgr) NewSessionID() string
- func (mgr *SessionMgr) Set(sessionID string, key interface{}, value interface{})
- func (mgr *SessionMgr) Start(w http.ResponseWriter) string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BadRequest ¶ added in v0.1.30
func BadRequest(w http.ResponseWriter, msg string, debug ...any)
func DNS01Challenge ¶ added in v0.1.25
func DefaultHeader ¶
func DefaultHeader(w http.ResponseWriter)
func Error ¶ added in v0.1.35
func Error(w http.ResponseWriter, code int, message string, debug ...any)
func GetQuery ¶ added in v0.1.36
GetQuery 解析 URL 查询参数到结构体 支持标签 `query:"name"` 指定参数名,默认使用蛇形命名(如 UserName -> user_name) 忽略标签 `query:"~"` 的字段
func HTTP01Challenge ¶ added in v0.1.25
HTTP01 使用标准的HTTP-01认证
func NewTemplates ¶
func PathValue ¶ added in v0.1.36
PathValue 解析 URL 路径参数到结构体 支持标签 `path:"name"` 指定参数名,默认使用蛇形命名(如 UserID -> user_id) 忽略标签 `path:"~"` 的字段
func Permission ¶ added in v0.1.36
func Permission(authName string, authorityFunc func(*http.Request, string) bool, handler http.HandlerFunc) http.HandlerFunc
func SetContext ¶ added in v0.0.3
func SuccessCreated ¶ added in v0.1.39
func SuccessCreated(w http.ResponseWriter, debug ...any)
func SuccessNoContent ¶ added in v0.1.39
func SuccessNoContent(w http.ResponseWriter, debug ...any)
func TimeoutFail ¶
func TimeoutFail(w http.ResponseWriter, debug ...any)
func Unauthorized ¶ added in v0.1.30
func Unauthorized(w http.ResponseWriter, msg string, debug ...any)
Types ¶
type DNSCertManager ¶ added in v0.1.25
type DNSCertManager struct {
// contains filtered or unexported fields
}
DNSCertManager 实现基于DNS-01挑战的证书管理器
func NewDNSCertManager ¶ added in v0.1.25
func NewDNSCertManager(dnsProvider DNSProvider, email string, domains []string, cacheDir string) (*DNSCertManager, error)
NewDNSCertManager 创建新的DNS证书管理器
func (*DNSCertManager) CheckAndRenewCertificates ¶ added in v0.1.25
func (m *DNSCertManager) CheckAndRenewCertificates(lessDayRenew int) error
CheckAndRenewCertificates 检查所有域名的证书并在需要时续期
func (*DNSCertManager) CheckCertificateExpiry ¶ added in v0.1.25
func (m *DNSCertManager) CheckCertificateExpiry(domain string) (int, error)
CheckCertificateExpiry 检查证书到期时间,返回剩余天数
func (*DNSCertManager) GetCertificate ¶ added in v0.1.25
func (m *DNSCertManager) GetCertificate(hello *tls.ClientHelloInfo) (*tls.Certificate, error)
GetCertificate 实现tls.Config的GetCertificate方法
func (*DNSCertManager) GetCertificateFunc ¶ added in v0.1.25
func (m *DNSCertManager) GetCertificateFunc() func(*tls.ClientHelloInfo) (*tls.Certificate, error)
GetCertificateFunc 返回GetCertificate函数,用于tls.Config
func (*DNSCertManager) IsCertificateExpiringSoon ¶ added in v0.1.25
func (m *DNSCertManager) IsCertificateExpiringSoon(domain string) (bool, error)
IsCertificateExpiringSoon 检查证书是否即将到期(15天内)
func (*DNSCertManager) RenewCertificate ¶ added in v0.1.25
func (m *DNSCertManager) RenewCertificate(domain string) error
RenewCertificate 续期证书
func (*DNSCertManager) StartCertificateExpiryMonitor ¶ added in v0.1.25
func (m *DNSCertManager) StartCertificateExpiryMonitor(checkTime string, lessDayRenew int)
startCertificateExpiryMonitor 启动证书到期检测监控协程
type DNSProvider ¶ added in v0.1.25
type H ¶
func NewHttpServer ¶
func NewHttpServer(address string, router *RouterHandle) *H
func (*H) StartFileTLS ¶ added in v0.1.25
type HtmlTemplate ¶
type HtmlTemplate struct {
// contains filtered or unexported fields
}
type RouterHandle ¶
func NewRouter ¶
func NewRouter() *RouterHandle
func (*RouterHandle) Delete ¶ added in v0.1.28
func (router *RouterHandle) Delete(path string, handler http.HandlerFunc)
func (*RouterHandle) FilesServer ¶ added in v0.1.13
func (router *RouterHandle) FilesServer(path, dir string)
文件服务路由
func (*RouterHandle) Get ¶
func (router *RouterHandle) Get(path string, handler http.HandlerFunc)
func (*RouterHandle) Head ¶ added in v0.1.28
func (router *RouterHandle) Head(path string, handler http.HandlerFunc)
func (*RouterHandle) Options ¶ added in v0.1.28
func (router *RouterHandle) Options(path string, handler http.HandlerFunc)
func (*RouterHandle) Patch ¶ added in v0.1.28
func (router *RouterHandle) Patch(path string, handler http.HandlerFunc)
func (*RouterHandle) Post ¶
func (router *RouterHandle) Post(path string, handler http.HandlerFunc)
func (*RouterHandle) Put ¶ added in v0.1.28
func (router *RouterHandle) Put(path string, handler http.HandlerFunc)
func (*RouterHandle) ServeHTTP ¶
func (router *RouterHandle) ServeHTTP(w http.ResponseWriter, r *http.Request)
func (*RouterHandle) SetAuth ¶
func (router *RouterHandle) SetAuth(authPath string, authFunc auth)
func (*RouterHandle) SetContextSetter ¶
func (router *RouterHandle) SetContextSetter(setter func(*http.Request) *http.Request)
func (*RouterHandle) SetHeader ¶
func (router *RouterHandle) SetHeader(f func(w http.ResponseWriter))
func (*RouterHandle) SetOnEvicted ¶
func (router *RouterHandle) SetOnEvicted(f func(http.ResponseWriter, *http.Request) bool)
func (*RouterHandle) SetSign ¶
func (router *RouterHandle) SetSign(signPath string, signfunc sign)
func (*RouterHandle) SetTimeout ¶
func (router *RouterHandle) SetTimeout(timeout time.Duration)
type SessionMgr ¶
type SessionMgr struct {
// contains filtered or unexported fields
}
SessionMgr /*Session会话管理*/
func NewSession ¶
func NewSession(cookieName string, maxLifeTime int64) *SessionMgr
NewSession 创建会话管理器(cookieName:在浏览器中cookie的名字;maxLifeTime:最长生命周期)
func (*SessionMgr) CheckCookieValid ¶
func (mgr *SessionMgr) CheckCookieValid(r *http.Request) string
CheckCookieValid 判断Cookie的合法性(每进入一个页面都需要判断合法性)
func (*SessionMgr) End ¶
func (mgr *SessionMgr) End(w http.ResponseWriter, r *http.Request)
End 结束Session
func (*SessionMgr) EndSessionBy ¶
func (mgr *SessionMgr) EndSessionBy(sessionID string)
EndSessionBy 结束session
func (*SessionMgr) Get ¶
func (mgr *SessionMgr) Get(sessionID string, key interface{}) (interface{}, bool)
Get 得到session里面的值
func (*SessionMgr) GetLastAccessTime ¶
func (mgr *SessionMgr) GetLastAccessTime(sessionID string) time.Time
GetLastAccessTime 更新最后访问时间
func (*SessionMgr) GetSessionIDList ¶
func (mgr *SessionMgr) GetSessionIDList() []string
GetSessionIDList 得到sessionID列表
func (*SessionMgr) Set ¶
func (mgr *SessionMgr) Set(sessionID string, key interface{}, value interface{})
Set 设置session里面的值
func (*SessionMgr) Start ¶
func (mgr *SessionMgr) Start(w http.ResponseWriter) string
Start 在开始页面登陆页面,开始Session