mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-22 01:48:11 +00:00
feat(webui): 请求IP日志记录中间件
- clientIP(): 提取真实客户端IP,优先 X-Forwarded-For(取第一跳) / X-Real-IP,回退 RemoteAddr - logged(): 最外层中间件,覆盖全部路由,记录方法/路径/IP/认证方式/状态码/耗时 - 认证方式判定: api-key(X-API-Key/Bearer) / session(cookie) / none - SSE长连接(/chat/events)启动即记,不阻塞等待完成 - statusWriter 捕获响应状态码,支持 Flush/Hijack 透传 - 用于排查'谁调用了什么接口'(如插件禁用等变更操作)
This commit is contained in:
@ -232,7 +232,9 @@ func (p *Plugin) Start(s *sdk.PluginSDK) error {
|
||||
p.handler = NewHandler(s)
|
||||
p.handler.RegisterRoutes(p.mux)
|
||||
|
||||
p.server = &http.Server{Addr: addr, Handler: p.mux}
|
||||
// 最外层套 logged 中间件:记录每个请求的来源 IP / 方法 / 路径 / 认证方式 / 状态码。
|
||||
// 用于排查“谁调用了什么接口”(如插件禁用等变更操作)。
|
||||
p.server = &http.Server{Addr: addr, Handler: p.handler.logged(p.mux)}
|
||||
go func() {
|
||||
log.Printf("[webui] HTTP server listening on %s", addr)
|
||||
if err := p.server.ListenAndServe(); err != nil && err != http.ErrServerClosed {
|
||||
|
||||
Reference in New Issue
Block a user