MCPcopy Create free account
hub / github.com/imgproxy/imgproxy / TestRequestID

Method TestRequestID

server/router_test.go:183–220  ·  view source on GitHub ↗

TestRequestID checks request ID generation and validation

()

Source from the content-addressed store, hash-verified

181
182// TestRequestID checks request ID generation and validation
183func (s *RouterTestSuite) TestRequestID() {
184 handler := func(reqID string, rw server.ResponseWriter, req *http.Request) *server.Error {
185 rw.WriteHeader(http.StatusOK)
186 return nil
187 }
188
189 s.router.GET("/test", handler)
190
191 // Test request ID passthrough (if present)
192 req := httptest.NewRequest(http.MethodGet, "/api/test", nil)
193 req.Header.Set(httpheaders.XRequestID, "valid-id-123")
194 rw := httptest.NewRecorder()
195
196 s.router.ServeHTTP(rw, req)
197
198 s.Require().Equal("valid-id-123", rw.Header().Get(httpheaders.XRequestID))
199
200 // Test invalid request ID (should generate a new one)
201 req = httptest.NewRequest(http.MethodGet, "/api/test", nil)
202 req.Header.Set(httpheaders.XRequestID, "invalid id with spaces!")
203 rw = httptest.NewRecorder()
204
205 s.router.ServeHTTP(rw, req)
206
207 generatedID := rw.Header().Get(httpheaders.XRequestID)
208 s.Require().NotEqual("invalid id with spaces!", generatedID)
209 s.Require().NotEmpty(generatedID)
210
211 // Test no request ID (should generate a new one)
212 req = httptest.NewRequest(http.MethodGet, "/api/test", nil)
213 rw = httptest.NewRecorder()
214
215 s.router.ServeHTTP(rw, req)
216
217 generatedID = rw.Header().Get(httpheaders.XRequestID)
218 s.Require().NotEmpty(generatedID)
219 s.Require().Regexp(`^[A-Za-z0-9_\-]+$`, generatedID)
220}
221
222// TestLambdaRequestIDExtraction checks AWS lambda request id extraction
223func (s *RouterTestSuite) TestLambdaRequestIDExtraction() {

Callers

nothing calls this directly

Calls 6

WriteHeaderMethod · 0.80
NewRequestMethod · 0.80
ServeHTTPMethod · 0.80
GetMethod · 0.65
GETMethod · 0.45
SetMethod · 0.45

Tested by

no test coverage detected