Repository navigation
Add the Roadrunner (Erlang) server - #159
Draft
williamthome wants to merge 2 commits into
Draft
williamthome wants to merge 2 commits into
williamthome wants to merge 2 commits into
Conversation
|
Http11Probe — Compliance Comparison
✅ Baseline PassedCompliance
Smuggling
Malformed Input
Header Normalization
Commit: 3e075b9 |
williamthome
marked this pull request as draft
October 15, 2026 13:17
Author
|
Moving this to draft for now: a roadrunner patch release with a few more fixes is coming soon, and I'll update this PR to it once it's out. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Adds src/Servers/RoadrunnerServer/ (Dockerfile, probe.json, rebar.config, rebar.lock and the Erlang sources) and docs/content/servers/roadrunner.md. Roadrunner is a pure-Erlang HTTP/1.1, HTTP/2, HTTP/3 and WebSocket server; the entry runs roadrunner 0.10.1 from Hex as an OTP release, with one HTTP/1.1 listener on port 8080 using the server's default options. HEAD and the unread-body handling are roadrunner's own behaviour: the handler only serves
/echo,/cookie(echoing the cookies roadrunner parsed) and a catch-all that echoes a POST body.Measured locally against the image this Dockerfile builds, run with
--network hostand this repo's CLI: 156/159, 0 errors, 213 tests. The three scored failures are deliberate status choices where roadrunner follows the RFC rather than the expected 400:MAL-LONG-METHOD: a 100 KB method gets 501, which RFC 9112 §3 asks for a method longer than any the server implementsMAL-CL-OVERFLOWandMAL-CHUNK-SIZE-OVERFLOW: aContent-Lengthof99999999999999999999and a chunk size ofFFFFFFFFFFFFFFFF0are valid syntax that Erlang integers parse without overflow, so they get 413 Content Too Largeweb/assets/grid.js: Roadrunner joins the Emerging tier.
README.md: recounted to 47 reference servers in 14 languages. The line said 42 and 12, but main already had 46 server directories in 13 languages before this entry.