File tree Expand file tree Collapse file tree 1 file changed +12
-9
lines changed
transport/internet/httpupgrade Expand file tree Collapse file tree 1 file changed +12
-9
lines changed Original file line number Diff line number Diff line change @@ -31,7 +31,17 @@ func (s *server) Addr() net.Addr {
3131 return nil
3232}
3333
34- func (s * server ) Handle (conn net.Conn ) (stat.Connection , error ) {
34+ func (s * server ) Handle (conn net.Conn ) {
35+ conn , err := s .upgrade (conn )
36+ if err != nil {
37+ errors .LogInfoInner (context .Background (), err , "failed to handle request" )
38+ return
39+ }
40+ s .addConn (conn )
41+ }
42+
43+ // upgrade execute a fake websocket upgrade process and return the available connection
44+ func (s * server ) upgrade (conn net.Conn ) (stat.Connection , error ) {
3545 connReader := bufio .NewReader (conn )
3646 req , err := http .ReadRequest (connReader )
3747 if err != nil {
@@ -99,14 +109,7 @@ func (s *server) keepAccepting() {
99109 if err != nil {
100110 return
101111 }
102- go func () {
103- handledConn , err := s .Handle (conn )
104- if err != nil {
105- errors .LogInfoInner (context .Background (), err , "failed to handle request" )
106- return
107- }
108- s .addConn (handledConn )
109- }()
112+ go s .Handle (conn )
110113 }
111114}
112115
You can’t perform that action at this time.
0 commit comments