MCPcopy
hub / github.com/progrium/localtunnel / client

Function client

client.go:10–37  ·  view source on GitHub ↗
(backendConnect, localConnect, vhostName string)

Source from the content-addressed store, hash-verified

8)
9
10func client(backendConnect, localConnect, vhostName string) {
11 client := duplex.NewPeer()
12 client.SetOption(duplex.OptName, vhostName)
13 err := client.Connect("tcp://" + backendConnect)
14 if err != nil {
15 log.Fatal(err)
16 }
17 tunnel, err := client.Open(client.NextPeer(), "tunnel", nil)
18 if err != nil {
19 log.Fatal(err)
20 }
21 for {
22 meta, ch := tunnel.Accept()
23 if meta == nil {
24 break
25 }
26 go func() {
27 conn, err := net.Dial("tcp", localConnect)
28 if err != nil {
29 log.Println(err)
30 ch.Close()
31 return
32 }
33 println("connection received")
34 ch.Join(conn)
35 }()
36 }
37}

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected