add to err log
parent
c9658e9dcf
commit
7a3236e02f
14
server.go
14
server.go
|
|
@ -60,8 +60,8 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) Error(w http.ResponseWriter, err error) {
|
func (s *Server) Error(r *http.Request, w http.ResponseWriter, err error) {
|
||||||
log.Println(err)
|
log.Printf("err: %s: %v", r.URL.String(), err)
|
||||||
http.Error(w, err.Error(), http.StatusServiceUnavailable)
|
http.Error(w, err.Error(), http.StatusServiceUnavailable)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -69,13 +69,13 @@ func (s *Server) Error(w http.ResponseWriter, err error) {
|
||||||
func (s *Server) Connect(w http.ResponseWriter, r *http.Request) {
|
func (s *Server) Connect(w http.ResponseWriter, r *http.Request) {
|
||||||
host, err := s.dig(r.Context(), r.Host)
|
host, err := s.dig(r.Context(), r.Host)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.Error(w, err)
|
s.Error(r, w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
dest, err := net.DialTimeout("tcp", host, 30*time.Second)
|
dest, err := net.DialTimeout("tcp", host, 30*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.Error(w, err)
|
s.Error(r, w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -83,13 +83,13 @@ func (s *Server) Connect(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
hijacker, ok := w.(http.Hijacker)
|
hijacker, ok := w.(http.Hijacker)
|
||||||
if !ok {
|
if !ok {
|
||||||
s.Error(w, errors.New("hijack not available"))
|
s.Error(r, w, errors.New("hijack not available"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
client, _, err := hijacker.Hijack()
|
client, _, err := hijacker.Hijack()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.Error(w, err)
|
s.Error(r, w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ func (s *Server) Connect(w http.ResponseWriter, r *http.Request) {
|
||||||
func (s *Server) Serve(w http.ResponseWriter, r *http.Request) {
|
func (s *Server) Serve(w http.ResponseWriter, r *http.Request) {
|
||||||
resp, err := s.Transport.RoundTrip(r)
|
resp, err := s.Transport.RoundTrip(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.Error(w, err)
|
s.Error(r, w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue