Luis Pater
61da7bd981
Merge PR #1626 into codex/pr-1626
2026-02-19 04:49:14 +08:00
Luis Pater
bb86a0c0c4
feat(logging, executor): add request logging tests and WebSocket-based Codex executor
...
- Introduced unit tests for request logging middleware to enhance coverage.
- Added WebSocket-based Codex executor to support Responses API upgrade.
- Updated middleware logic to selectively capture request bodies for memory efficiency.
- Enhanced Codex configuration handling with new WebSocket attributes.
2026-02-19 01:57:02 +08:00
Kirill Turanskiy
1f8f198c45
feat: passthrough upstream response headers to clients
...
CPA previously stripped ALL response headers from upstream AI provider
APIs, preventing clients from seeing rate-limit info, request IDs,
server-timing and other useful headers.
Changes:
- Add Headers field to Response and StreamResult structs
- Add FilterUpstreamHeaders helper (hop-by-hop + security denylist)
- Add WriteUpstreamHeaders helper (respects CPA-set headers)
- ExecuteWithAuthManager/ExecuteCountWithAuthManager now return headers
- ExecuteStreamWithAuthManager returns headers from initial connection
- All 11 provider executors populate Response.Headers
- All handler call sites write filtered upstream headers before response
Filtered headers (not forwarded):
- RFC 7230 hop-by-hop: Connection, Transfer-Encoding, Keep-Alive, etc.
- Security: Set-Cookie
- CPA-managed: Content-Length, Content-Encoding
2026-02-18 00:16:22 +03:00
Luis Pater
4eb1e6093f
feat(handlers): add test to verify no retries after partial stream response
...
Introduce `TestExecuteStreamWithAuthManager_DoesNotRetryAfterFirstByte` to validate that stream executions do not retry after receiving partial responses. Implement `payloadThenErrorStreamExecutor` for test coverage of this behavior.
2026-01-29 17:30:48 +08:00
hkfires
21ac161b21
fix(test): implement missing HttpRequest method in stream bootstrap mock
2026-01-12 16:33:43 +08:00
hkfires
09455f9e85
fix(config): make streaming keepalive and retries ints
2025-12-27 20:56:47 +08:00
Thai Nguyen Hung
54f71aa273
fix(test): remove extra argument from ExecuteStreamWithAuthManager call
2025-12-25 21:55:35 +07:00
gwizz
5bf89dd757
fix: keep streaming defaults legacy-safe
2025-12-23 00:53:18 +11:00
gwizz
71a6dffbb6
fix: improve streaming bootstrap and forwarding
2025-12-22 23:34:23 +11:00