mirror of
https://github.com/woodchen-ink/proxy-go.git
synced 2025-07-18 08:31:55 +08:00
- 更新 docker-compose.yml 文件,使用端口 3336 - 修改 Dockerfile 以暴露端口 3336 - 重构 main.go 以支持新的路由和管理端点 - 在 auth.go 中实现健壮的身份验证中间件 - 通过加强错误检查来改进指标处理。 - 添加用于安全类型转换的实用函数 - 引入请求ID生成功能,以便更好地进行追踪。
35 lines
759 B
Go
35 lines
759 B
Go
package models
|
|
|
|
// SafeStatusCodeStats 安全地将 interface{} 转换为状态码统计
|
|
func SafeStatusCodeStats(v interface{}) map[string]int64 {
|
|
if v == nil {
|
|
return make(map[string]int64)
|
|
}
|
|
if m, ok := v.(map[string]int64); ok {
|
|
return m
|
|
}
|
|
return make(map[string]int64)
|
|
}
|
|
|
|
// SafePathMetrics 安全地将 interface{} 转换为路径指标
|
|
func SafePathMetrics(v interface{}) []PathMetrics {
|
|
if v == nil {
|
|
return []PathMetrics{}
|
|
}
|
|
if m, ok := v.([]PathMetrics); ok {
|
|
return m
|
|
}
|
|
return []PathMetrics{}
|
|
}
|
|
|
|
// SafeRequestLogs 安全地将 interface{} 转换为请求日志
|
|
func SafeRequestLogs(v interface{}) []RequestLog {
|
|
if v == nil {
|
|
return []RequestLog{}
|
|
}
|
|
if m, ok := v.([]RequestLog); ok {
|
|
return m
|
|
}
|
|
return []RequestLog{}
|
|
}
|