|
@ -4,6 +4,7 @@ import ( |
|
|
"context" |
|
|
"context" |
|
|
"fmt" |
|
|
"fmt" |
|
|
"log" |
|
|
"log" |
|
|
|
|
|
"net" |
|
|
"net/http" |
|
|
"net/http" |
|
|
"strconv" |
|
|
"strconv" |
|
|
|
|
|
|
|
@ -98,6 +99,21 @@ func (s *Server) executeCompositeRoute(w http.ResponseWriter, r *http.Request, s |
|
|
return err |
|
|
return err |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (s *Server) listenersUseAnyPortOtherThan(otherPort int) bool { |
|
|
|
|
|
for _, lnAddr := range s.Listen { |
|
|
|
|
|
_, addrs, err := parseListenAddr(lnAddr) |
|
|
|
|
|
if err == nil { |
|
|
|
|
|
for _, a := range addrs { |
|
|
|
|
|
_, port, err := net.SplitHostPort(a) |
|
|
|
|
|
if err == nil && port != strconv.Itoa(otherPort) { |
|
|
|
|
|
return true |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return false |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
type httpErrorConfig struct { |
|
|
type httpErrorConfig struct { |
|
|
Routes RouteList `json:"routes,omitempty"` |
|
|
Routes RouteList `json:"routes,omitempty"` |
|
|
// TODO: some way to configure the logging of errors, probably? standardize
|
|
|
// TODO: some way to configure the logging of errors, probably? standardize
|
|
|