| 102 | } |
| 103 | |
| 104 | func TestProxyRequestIDHeader(t *testing.T) { |
| 105 | got := "not called" |
| 106 | server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 107 | got = r.Header.Get("X-Request-ID") |
| 108 | })) |
| 109 | defer server.Close() |
| 110 | |
| 111 | proxy := httptest.NewServer(&HTTPProxy{ |
| 112 | ProtectHeaders: testProtectHeaders, |
| 113 | Config: config.Proxy{RequestID: "X-Request-Id"}, |
| 114 | Transport: http.DefaultTransport, |
| 115 | UUID: func() string { return "f47ac10b-58cc-0372-8567-0e02b2c3d479" }, |
| 116 | Lookup: func(r *http.Request) *route.Target { |
| 117 | return &route.Target{URL: mustParse(server.URL)} |
| 118 | }, |
| 119 | }) |
| 120 | defer proxy.Close() |
| 121 | |
| 122 | req, _ := http.NewRequest("GET", proxy.URL, nil) |
| 123 | mustDo(req) |
| 124 | |
| 125 | if want := "f47ac10b-58cc-0372-8567-0e02b2c3d479"; got != want { |
| 126 | t.Errorf("got %v, but want %v", got, want) |
| 127 | } |
| 128 | } |
| 129 | |
| 130 | func TestProxySTSHeader(t *testing.T) { |
| 131 | server := httptest.NewServer(okHandler) |