Make Cowboy optional and verify Bandit consumer streams #1

Closed
sean wants to merge 1 commit from feat/optional-cowboy into master
Owner

Based on upstream v1.3.0. Make Plug.Cowboy optional and return a clear error when a standalone Cowboy listener is requested without it. Remove upstream advisory exceptions. Add request-stream keepalives so silent HTTP/1 disconnects stop workers.

Validation: red consumer dependency test before patch; none/Bandit/Cowboy consumer contracts pass; no-server and Bandit releases contain no Cowboy/Cowlib/Ranch and pass audit without exceptions; HTTP/1.1 and TLS HTTP/2 JSON, streaming, subscriptions, disconnect cleanup, and 2025 session calls pass for both servers. Existing unit suite: 3460 passed, 804 excluded. Targeted transport integration: 114 passed. Changed files pass formatting and compilation with warnings as errors.

Known upstream issue: full format check reports unchanged test/ex_mcp/acp/adapters/codex_test.exs under Elixir 1.20.3. The upstream development/test lock retains Cowlib advisories; those are not hidden or used as the deployment consumer audit. Forgejo consumer workflow requires a runner. See FORK.md for maintenance and compatibility limits.

Based on upstream v1.3.0. Make Plug.Cowboy optional and return a clear error when a standalone Cowboy listener is requested without it. Remove upstream advisory exceptions. Add request-stream keepalives so silent HTTP/1 disconnects stop workers. Validation: red consumer dependency test before patch; none/Bandit/Cowboy consumer contracts pass; no-server and Bandit releases contain no Cowboy/Cowlib/Ranch and pass audit without exceptions; HTTP/1.1 and TLS HTTP/2 JSON, streaming, subscriptions, disconnect cleanup, and 2025 session calls pass for both servers. Existing unit suite: 3460 passed, 804 excluded. Targeted transport integration: 114 passed. Changed files pass formatting and compilation with warnings as errors. Known upstream issue: full format check reports unchanged test/ex_mcp/acp/adapters/codex_test.exs under Elixir 1.20.3. The upstream development/test lock retains Cowlib advisories; those are not hidden or used as the deployment consumer audit. Forgejo consumer workflow requires a runner. See FORK.md for maintenance and compatibility limits.
sean closed this pull request 2026-09-12 22:58:59 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/ex-mcp!1
No description provided.