package middleware import ( "net/http" "net/http/httptest" "testing" ) func TestForwardedHeaders(t *testing.T) { var gotScheme, gotHost string handler := ForwardedHeaders(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { gotScheme = r.URL.Scheme gotHost = r.URL.Host })) req := httptest.NewRequest(http.MethodGet, "http://ultid:8080/api/v1/calendar", nil) req.Header.Set("X-Forwarded-Proto", "https") req.Header.Set("X-Forwarded-Host", "dev.ultispace.fr") req.Host = "dev.ultispace.fr" handler.ServeHTTP(httptest.NewRecorder(), req) if gotScheme != "https" { t.Fatalf("scheme = %q, want https", gotScheme) } if gotHost != "dev.ultispace.fr" { t.Fatalf("host = %q, want dev.ultispace.fr", gotHost) } }