Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f46ee74f6 |
@@ -15,12 +15,6 @@ func NewTestSPAServer() *Server {
|
|||||||
return srv
|
return srv
|
||||||
}
|
}
|
||||||
|
|
||||||
// Listener returns the listener the start hook bound for the
|
|
||||||
// HTTP server.
|
|
||||||
func (srv *Server) Listener() net.Listener {
|
|
||||||
return srv.listener
|
|
||||||
}
|
|
||||||
|
|
||||||
// ServeUntilShutdown runs serveUntilShutdown, which serves the
|
// ServeUntilShutdown runs serveUntilShutdown, which serves the
|
||||||
// HTTP server on listener, and returns when it does.
|
// HTTP server on listener, and returns when it does.
|
||||||
func (srv *Server) ServeUntilShutdown(listener net.Listener) {
|
func (srv *Server) ServeUntilShutdown(listener net.Listener) {
|
||||||
|
|||||||
@@ -50,7 +50,6 @@ type Server struct {
|
|||||||
sentryEnabled bool
|
sentryEnabled bool
|
||||||
log *slog.Logger
|
log *slog.Logger
|
||||||
httpServer *http.Server
|
httpServer *http.Server
|
||||||
listener net.Listener
|
|
||||||
router *chi.Mux
|
router *chi.Mux
|
||||||
params Params
|
params Params
|
||||||
mw *middleware.Middleware
|
mw *middleware.Middleware
|
||||||
@@ -180,8 +179,6 @@ func (srv *Server) startHTTP(ctx context.Context) error {
|
|||||||
return fmt.Errorf("http listen: %w", err)
|
return fmt.Errorf("http listen: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
srv.listener = listener
|
|
||||||
|
|
||||||
srv.httpServer = &http.Server{ //nolint:exhaustruct // optional fields
|
srv.httpServer = &http.Server{ //nolint:exhaustruct // optional fields
|
||||||
Addr: listenAddr,
|
Addr: listenAddr,
|
||||||
ReadTimeout: httpReadTimeout,
|
ReadTimeout: httpReadTimeout,
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
@@ -56,12 +55,20 @@ func TestStopWaitsForRequestInProgress(t *testing.T) {
|
|||||||
t.Fatalf("create session: %v", err)
|
t.Fatalf("create session: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
tcpAddr, ok := srv.Listener().Addr().(*net.TCPAddr)
|
// The test cannot read the port the system gave the app, so
|
||||||
if !ok {
|
// it serves the same HTTP server on a listener of its own.
|
||||||
t.Fatalf("listener address %v is not TCP", srv.Listener().Addr())
|
var listenConfig net.ListenConfig
|
||||||
|
|
||||||
|
listener, err := listenConfig.Listen(
|
||||||
|
t.Context(), "tcp", "127.0.0.1:0",
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("listen: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
addr := net.JoinHostPort("127.0.0.1", strconv.Itoa(tcpAddr.Port))
|
go srv.ServeUntilShutdown(listener)
|
||||||
|
|
||||||
|
addr := listener.Addr().String()
|
||||||
|
|
||||||
statuses := make(chan int, 1)
|
statuses := make(chan int, 1)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user