完善 HTTP 处理逻辑,优化请求解析和认证流程

This commit is contained in:
2025-03-03 10:15:48 +08:00
parent d8c8b22123
commit cc0b74c5c2
3 changed files with 144 additions and 25 deletions

View File

@@ -6,6 +6,7 @@ import (
"net"
"proxy-server/pkg/utils"
"proxy-server/server/fwd/core"
"proxy-server/server/fwd/http"
"proxy-server/server/fwd/socks"
"strconv"
"time"
@@ -98,9 +99,16 @@ func (s *Server) acceptHttp(ls net.Listener) error {
}
go func() {
err := s.processHttp(conn)
user, err := http.Process(s.ctx, conn)
if err != nil {
slog.Error("dispatcher http process error", "err", err)
utils.Close(conn)
return
}
select {
case <-s.ctx.Done():
utils.Close(user)
case s.Conn <- user:
}
}()
}
@@ -121,7 +129,7 @@ func (s *Server) acceptSocks(ls net.Listener) error {
}
go func() {
conn, err := socks.Process(s.ctx, conn)
user, err := socks.Process(s.ctx, conn)
if err != nil {
slog.Error("处理 socks 连接失败", "err", err)
utils.Close(conn)
@@ -129,16 +137,12 @@ func (s *Server) acceptSocks(ls net.Listener) error {
}
select {
case <-s.ctx.Done():
utils.Close(conn)
case s.Conn <- conn:
utils.Close(user)
case s.Conn <- user:
}
}()
}
}
func (s *Server) processHttp(conn net.Conn) error {
return nil
}
type Conn struct {
}