File tree Expand file tree Collapse file tree 2 files changed +5
-22
lines changed Expand file tree Collapse file tree 2 files changed +5
-22
lines changed Original file line number Diff line number Diff line change 6
6
"net/http/httputil"
7
7
"log"
8
8
"net"
9
- "context"
10
9
"time"
11
10
"io/ioutil"
11
+ "context"
12
12
)
13
13
14
14
type handle struct {
@@ -21,7 +21,6 @@ func (this *handle) ServeHTTP(w http.ResponseWriter, r *http.Request) {
21
21
if err != nil {
22
22
log .Fatalln (err )
23
23
}
24
-
25
24
dialer := & net.Dialer {
26
25
Timeout : 30 * time .Second ,
27
26
KeepAlive : 30 * time .Second ,
Original file line number Diff line number Diff line change 1
1
package main
2
2
3
3
import (
4
- "log"
5
4
"net/http"
6
- "bufio"
7
- "os"
8
- "strings"
5
+ "log"
9
6
)
10
7
11
8
var srv http.Server
@@ -15,33 +12,20 @@ func StartServer(bind string, remote string) {
15
12
h := & handle {reverseProxy : remote }
16
13
srv .Addr = bind
17
14
srv .Handler = h
18
-
19
- go func () {
15
+ //go func() {
20
16
if err := srv .ListenAndServe (); err != nil {
21
17
log .Fatalln ("ListenAndServe: " , err )
22
18
}
23
- }()
19
+ // }()
24
20
}
25
21
26
22
func StopServer () {
27
- if err := srv .Close ( ) ; err != nil {
23
+ if err := srv .Shutdown ( nil ) ; err != nil {
28
24
log .Println (err )
29
25
}
30
26
}
31
27
32
28
func main () {
33
29
cmd := parseCmd ()
34
30
StartServer (cmd .bind , cmd .remote )
35
- reader := bufio .NewReader (os .Stdin )
36
- for {
37
- str , err := reader .ReadString ('\n' )
38
- if err != nil {
39
- log .Println (err )
40
- }
41
- if strings .TrimSpace (str ) == "stop" {
42
- log .Println ("will stop server" )
43
- StopServer ()
44
- return
45
- }
46
- }
47
31
}
You can’t perform that action at this time.
0 commit comments