@@ -3,23 +3,24 @@ package handler
33import (
44 "context"
55 "fmt"
6- "io"
76 "net"
87 "sync"
98
109 clog "github.com/SenseUnit/dumbproxy/log"
10+
11+ "github.com/SenseUnit/dumbproxy/dialer"
1112)
1213
13- func StdIOHandler (dialer HandlerDialer , logger * clog.CondLogger , forward ForwardFunc ) func (ctx context.Context , reader io. Reader , writer io. Writer , dstAddress string ) error {
14- return func (ctx context.Context , reader io. Reader , writer io. Writer , dstAddress string ) error {
14+ func StdIOHandler (d HandlerDialer , logger * clog.CondLogger , forward ForwardFunc ) func (context.Context , dialer. ReadPipe , dialer. WritePipe , string ) error {
15+ return func (ctx context.Context , reader dialer. ReadPipe , writer dialer. WritePipe , dstAddress string ) error {
1516 logger .Debug ("Request: %v => %v %q %v %v %v" , "<stdio>" , "<stdio>" , "" , "STDIO" , "CONNECT" , dstAddress )
16- target , err := dialer .DialContext (ctx , "tcp" , dstAddress )
17+ target , err := d .DialContext (ctx , "tcp" , dstAddress )
1718 if err != nil {
1819 return fmt .Errorf ("connect to %q failed: %w" , dstAddress , err )
1920 }
2021 defer target .Close ()
2122
22- return forward (ctx , "" , wrapSOCKS (reader , writer ), target )
23+ return forward (ctx , "" , dialer . NewPipeConn (reader , writer ), target )
2324 }
2425}
2526
0 commit comments