|
|
@@ -2,10 +2,8 @@ package http
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
- "fmt"
|
|
|
"io"
|
|
|
"net/http"
|
|
|
- "os"
|
|
|
"strings"
|
|
|
"time"
|
|
|
|
|
|
@@ -37,7 +35,6 @@ func (l *Listener) Addr() net.Addr {
|
|
|
|
|
|
func (l *Listener) Close() error {
|
|
|
if l.locker != nil {
|
|
|
- fmt.Fprintln(os.Stderr, "RELEASE LOCK")
|
|
|
l.locker.Release()
|
|
|
}
|
|
|
return l.server.Close()
|
|
|
@@ -89,11 +86,11 @@ func (l *Listener) ServeHTTP(writer http.ResponseWriter, request *http.Request)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- forwardedAddrs := http_proto.ParseXForwardedFor(request.Header)
|
|
|
- if len(forwardedAddrs) > 0 && forwardedAddrs[0].Family().IsIP() {
|
|
|
+ forwardedAddress := http_proto.ParseXForwardedFor(request.Header)
|
|
|
+ if len(forwardedAddress) > 0 && forwardedAddress[0].Family().IsIP() {
|
|
|
remoteAddr = &net.TCPAddr{
|
|
|
- IP: forwardedAddrs[0].IP(),
|
|
|
- Port: int(0),
|
|
|
+ IP: forwardedAddress[0].IP(),
|
|
|
+ Port: 0,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -165,7 +162,7 @@ func Listen(ctx context.Context, address net.Address, port net.Port, streamSetti
|
|
|
Net: "unix",
|
|
|
}, streamSettings.SocketSettings)
|
|
|
if err != nil {
|
|
|
- newError("failed to listen on ", address).Base(err).WriteToLog(session.ExportIDToError(ctx))
|
|
|
+ newError("failed to listen on ", address).Base(err).AtError().WriteToLog(session.ExportIDToError(ctx))
|
|
|
return
|
|
|
}
|
|
|
locker := ctx.Value(address.Domain())
|
|
|
@@ -178,7 +175,7 @@ func Listen(ctx context.Context, address net.Address, port net.Port, streamSetti
|
|
|
Port: int(port),
|
|
|
}, streamSettings.SocketSettings)
|
|
|
if err != nil {
|
|
|
- newError("failed to listen on ", address, ":", port).Base(err).WriteToLog(session.ExportIDToError(ctx))
|
|
|
+ newError("failed to listen on ", address, ":", port).Base(err).AtError().WriteToLog(session.ExportIDToError(ctx))
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
@@ -186,12 +183,12 @@ func Listen(ctx context.Context, address net.Address, port net.Port, streamSetti
|
|
|
if config == nil {
|
|
|
err = server.Serve(streamListener)
|
|
|
if err != nil {
|
|
|
- newError("stoping serving H2C").Base(err).WriteToLog(session.ExportIDToError(ctx))
|
|
|
+ newError("stopping serving H2C").Base(err).WriteToLog(session.ExportIDToError(ctx))
|
|
|
}
|
|
|
} else {
|
|
|
err = server.ServeTLS(streamListener, "", "")
|
|
|
if err != nil {
|
|
|
- newError("stoping serving TLS").Base(err).WriteToLog(session.ExportIDToError(ctx))
|
|
|
+ newError("stopping serving TLS").Base(err).WriteToLog(session.ExportIDToError(ctx))
|
|
|
}
|
|
|
}
|
|
|
}()
|