(t *testing.T)
| 1132 | } |
| 1133 | |
| 1134 | func Test_Proxy_Forward_OverwritesXRealIP(t *testing.T) { |
| 1135 | t.Parallel() |
| 1136 | |
| 1137 | const spoofedIP = "10.0.0.1" |
| 1138 | // app.Test injects 0.0.0.0 as the remote address, so c.IP() returns IPv4zero. |
| 1139 | appTestClientIP := net.IPv4zero.String() |
| 1140 | |
| 1141 | _, addr := createProxyTestServerIPv4(t, func(c fiber.Ctx) error { |
| 1142 | require.Equal(t, appTestClientIP, c.Get("X-Real-IP")) |
| 1143 | return c.SendStatus(fiber.StatusOK) |
| 1144 | }) |
| 1145 | |
| 1146 | app := fiber.New() |
| 1147 | app.Use(Forward("http://" + addr)) |
| 1148 | |
| 1149 | req := httptest.NewRequest(fiber.MethodGet, "/", http.NoBody) |
| 1150 | req.Header.Set("X-Real-IP", spoofedIP) |
| 1151 | |
| 1152 | resp, err := app.Test(req) |
| 1153 | require.NoError(t, err) |
| 1154 | require.Equal(t, fiber.StatusOK, resp.StatusCode) |
| 1155 | } |
| 1156 | |
| 1157 | func Test_Proxy_DomainForward_OverwritesXRealIP(t *testing.T) { |
| 1158 | t.Parallel() |
nothing calls this directly
no test coverage detected