重构认证相关结构,更新认证流程,添加日志功能

This commit is contained in:
2025-02-26 17:01:20 +08:00
parent 7ee4ded08c
commit a541a7bd3a
12 changed files with 110 additions and 472 deletions

45
server/web/web.go Normal file
View File

@@ -0,0 +1,45 @@
package web
import (
"context"
"log/slog"
"net/http"
"os"
"proxy-server/server/web/auth"
"proxy-server/server/web/router"
"github.com/gin-gonic/gin"
)
var server *http.Server
func Start(ctx context.Context, errCh chan error) {
address := ":" + os.Getenv("PORT")
engine := gin.Default()
server = &http.Server{Addr: address, Handler: engine}
// 监听关闭信号
go func() {
<-ctx.Done()
slog.Info("web 服务被动关闭")
err := server.Shutdown(ctx)
if err != nil {
slog.Error("web 服务关闭失败", err)
return
}
}()
// 配置中间件和路由
auth.Apply(engine, nil)
router.Apply(engine)
// 启动服务
err := server.ListenAndServe()
if err != nil {
errCh <- err
return
}
slog.Debug("web 服务主动结束")
errCh <- nil
}