You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Remove hardcoded 41 tests and 12 servers counts (both are dynamic)
- Replace broken {{< steps >}} shortcode with plain numbered bold steps
- Add spacing divs between all sections
- Simplify Currently Tested to mention languages not individual names
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/content/_index.md
+16-12Lines changed: 16 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,33 +29,35 @@ layout: hextra-home
29
29
30
30
## What It Does
31
31
32
-
Http11Probe sends **41 crafted HTTP requests** to each server and checks whether the response matches the exact expected behavior from the RFCs. Every server is tested identically, producing a side-by-side compliance comparison.
32
+
Http11Probe sends a suite of crafted HTTP requests to each server and checks whether the response matches the exact expected behavior from the RFCs. Every server is tested identically, producing a side-by-side compliance comparison.
{{< card link="malformed-input" title="Robustness" subtitle="Binary garbage, oversized fields, too many headers, control characters, integer overflow, incomplete requests." icon="lightning-bolt" >}}
38
40
{{< /cards >}}
39
41
40
42
<divclass="hx-mt-16"></div>
41
43
42
44
## Add Your Framework
43
45
44
-
Http11Probe is designed so anyone can add their HTTP server and get compliance results without touching the test infrastructure. Three steps:
46
+
Http11Probe is designed so anyone can contribute their HTTP server and get compliance results without touching the test infrastructure.
45
47
46
-
{{< steps >}}
48
+
<divclass="hx-mt-8"></div>
47
49
48
-
###Write a minimal server
50
+
**1. Write a minimal server** — Create a directory under `src/Servers/YourServer/` with a simple HTTP server that returns `200 OK` on `GET /`. Any language, any framework.
49
51
50
-
Create a directory under `src/Servers/YourServer/` with a simple HTTP server that returns `200 OK` on `GET /`. Any language, any framework.
52
+
<divclass="hx-mt-4"></div>
51
53
52
-
###Add a Dockerfile
54
+
**2. Add a Dockerfile** — Build and run your server. It will use `network_mode: host` so it binds directly to the host network.
53
55
54
-
Add a `Dockerfile` that builds and runs your server. Use `network_mode: host` so it binds directly to the host network.
56
+
<divclass="hx-mt-4"></div>
55
57
56
-
###Add to docker-compose.yml
58
+
**3. Add to docker-compose.yml** — Add a service entry with two labels. That's the only configuration needed:
57
59
58
-
Add a service entry with two labels — that's the only configuration needed:
60
+
<divclass="hx-mt-4"></div>
59
61
60
62
```yaml
61
63
yourserver:
@@ -68,15 +70,17 @@ yourserver:
68
70
probe.name: "Your Server"
69
71
```
70
72
71
-
{{< /steps >}}
73
+
<div class="hx-mt-6"></div>
72
74
73
75
The CI pipeline auto-discovers servers from `docker-compose.yml` labels. No workflow edits, no test changes, no config files. Open a PR and the probe runs automatically.
74
76
75
77
<div class="hx-mt-16"></div>
76
78
77
79
## Currently Tested
78
80
79
-
Glyph11, ASP.NET Kestrel, Flask, Express, Spring Boot, Quarkus, Nancy, Jetty, Nginx, Apache, Caddy, and Pingora — across C#, Python, JavaScript, Java, and Rust.
81
+
Servers across C#, Python, JavaScript, Java, Rust, and C — from application frameworks to reverse proxies.
82
+
83
+
<div class="hx-mt-6"></div>
80
84
81
85
{{< cards >}}
82
86
{{< card link="probe-results" title="Leaderboard" subtitle="See which frameworks pass the most tests, ranked from best to worst compliance." icon="chart-bar" >}}
0 commit comments