完善 HTTP 处理逻辑,优化请求解析和认证流程
This commit is contained in:
@@ -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 {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user