Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,4 @@ The [Probe workflow](.github/workflows/probe.yml) runs on PRs and `workflow_disp

## Results

See the [live comparison](https://MDA2AV.github.io/Http11Probe/probe-results/) across all servers, or browse the [test glossary](https://MDA2AV.github.io/Http11Probe/docs/) for per-test RFC references and explanations.
See the [live comparison](https://www.http-probe.com/probe-results/) across all servers, or browse the [test glossary](https://www.http-probe.com/docs/) for per-test RFC references and explanations.
10 changes: 5 additions & 5 deletions docs/content/add-a-test.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ Pick the suite that matches your test's category and add a `yield return new Tes

| Category | File |
|----------|------|
| Compliance | `src/Http11Probe/TestCases/Suites/ComplianceSuite.cs` |
| Smuggling | `src/Http11Probe/TestCases/Suites/SmugglingSuite.cs` |
| Malformed Input | `src/Http11Probe/TestCases/Suites/MalformedInputSuite.cs` |
| Normalization | `src/Http11Probe/TestCases/Suites/NormalizationSuite.cs` |
| Cookies | `src/Http11Probe/TestCases/Suites/CookieSuite.cs` |
| Compliance | `src/TestCases/Suites/ComplianceSuite.cs` |
| Smuggling | `src/TestCases/Suites/SmugglingSuite.cs` |
| Malformed Input | `src/TestCases/Suites/MalformedInputSuite.cs` |
| Normalization | `src/TestCases/Suites/NormalizationSuite.cs` |
| Cookies | `src/TestCases/Suites/CookieSuite.cs` |

```csharp
yield return new TestCase
Expand Down
2 changes: 1 addition & 1 deletion docs/content/add-with-ai-agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Add with AI Agent
---

Use an AI coding agent (Claude Code, Cursor, Copilot, etc.) to add a new test or framework to Http11Probe. The repository includes a machine-readable contribution guide at [`AGENTS.md`](https://github.com/MDA2AV/Http11Probe/blob/main/AGENTS.md) designed specifically for LLM consumption.
Use an AI coding agent (Claude Code, Cursor, Copilot, etc.) to add a new test or framework to Http11Probe. The repository includes a machine-readable contribution guide at [`AGENTS.md`](https://github.com/MDA2AV/blob/main/AGENTS.md) designed specifically for LLM consumption.

## How to use it

Expand Down
4 changes: 2 additions & 2 deletions docs/content/caching/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ These tests probe optional HTTP features that servers may or may not implement.
</div>
<div id="table-caching"><p><em>Loading...</em></p></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function () {
if (!window.PROBE_DATA) {
Expand Down
4 changes: 2 additions & 2 deletions docs/content/compliance/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ Each test sends a request that violates a specific **MUST** or **MUST NOT** requ
</div>
<div id="table-compliance"><p><em>Loading...</em></p></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function () {
if (!window.PROBE_DATA) {
Expand Down
4 changes: 2 additions & 2 deletions docs/content/cookies/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ These tests check how servers and frameworks handle adversarial `Cookie` headers
</div>
<div id="table-cookies"><p><em>Loading...</em></p></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function () {
if (!window.PROBE_DATA) {
Expand Down
2 changes: 1 addition & 1 deletion docs/content/docs/smuggling/tecl-conn-close.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ weight: 11

## What it does

This is a **sequence test** — it sends multiple requests on the same TCP connection to verify server behavior across the full exchange. It is a mirror of [CLTE-CONN-CLOSE](/Http11Probe/docs/smuggling/clte-conn-close/) with the header order reversed.
This is a **sequence test** — it sends multiple requests on the same TCP connection to verify server behavior across the full exchange. It is a mirror of [CLTE-CONN-CLOSE](/docs/smuggling/clte-conn-close/) with the header order reversed.

### Step 1: Ambiguous POST (TE+CL)

Expand Down
4 changes: 2 additions & 2 deletions docs/content/malformed-input/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ A well-implemented server should respond with `400 Bad Request`, `414 URI Too Lo
</div>
<div id="table-malformed"><p><em>Loading...</em></p></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function () {
if (!window.PROBE_DATA) {
Expand Down
4 changes: 2 additions & 2 deletions docs/content/normalization/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ Some tests are **unscored** (marked with `*`). These cover behaviors like case n
</div>
<div id="table-normalization"><p><em>Loading...</em></p></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function () {
if (!window.PROBE_DATA) {
Expand Down
4 changes: 2 additions & 2 deletions docs/content/probe-results/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ These results are from CI runs (`ubuntu-latest`). Click a **server name** to vie

**Unscored** — tests marked with `*` in the detail tables. These cover RFC language that uses "MAY" or permits multiple valid behaviors, so there is no single correct answer to score against. They are still run and displayed for visibility, but do not count toward the pass/fail score.

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function () {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/actix.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** Rust · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/ActixServer)
**Language:** Rust · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/ActixServer)

## Dockerfile

Expand Down Expand Up @@ -105,8 +105,8 @@ async fn main() -> std::io::Result<()> {

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/apache.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** C · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/ApacheServer)
**Language:** C · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/ApacheServer)

## Dockerfile

Expand Down Expand Up @@ -104,8 +104,8 @@ fi

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/aspnet-minimal.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** C# · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/AspNetMinimal)
**Language:** C# · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/AspNetMinimal)

## Dockerfile

Expand Down Expand Up @@ -92,8 +92,8 @@ app.Run();

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/bun.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** TypeScript · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/BunServer)
**Language:** TypeScript · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/BunServer)

## Dockerfile

Expand Down Expand Up @@ -77,8 +77,8 @@ console.log(`Bun listening on 127.0.0.1:${port}`);

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/caddy.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** Go · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/CaddyServer)
**Language:** Go · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/CaddyServer)

## Dockerfile

Expand Down Expand Up @@ -93,8 +93,8 @@ COPY src/Servers/CaddyServer/cookie.html /srv/cookie.html

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/deno.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** TypeScript · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/DenoServer)
**Language:** TypeScript · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/DenoServer)

## Dockerfile

Expand Down Expand Up @@ -71,8 +71,8 @@ Deno.serve({ port: 8080, hostname: "0.0.0.0" }, async (req) => {

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/embedio.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** C# · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/EmbedIOServer)
**Language:** C# · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/EmbedIOServer)

## Dockerfile

Expand Down Expand Up @@ -92,8 +92,8 @@ await server.RunAsync();

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/envoy.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** C++ · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/EnvoyServer)
**Language:** C++ · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/EnvoyServer)

## Dockerfile

Expand Down Expand Up @@ -101,8 +101,8 @@ static_resources:

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/express.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** JavaScript · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/ExpressServer)
**Language:** JavaScript · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/ExpressServer)

## Dockerfile

Expand Down Expand Up @@ -84,8 +84,8 @@ app.listen(port, "127.0.0.1", () => {

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/fastendpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** C# · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/FastEndpointsServer)
**Language:** C# · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/FastEndpointsServer)

## Dockerfile

Expand Down Expand Up @@ -195,8 +195,8 @@ sealed class PostEcho : EndpointWithoutRequest

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/fasthttp.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** Go · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/FastHttpServer)
**Language:** Go · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/FastHttpServer)

## Dockerfile

Expand Down Expand Up @@ -92,8 +92,8 @@ func main() {

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/flask.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** Python · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/FlaskServer)
**Language:** Python · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/FlaskServer)

## Dockerfile

Expand Down Expand Up @@ -77,8 +77,8 @@ if __name__ == "__main__":

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/genhttp.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** C# · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/GenHttpServer)
**Language:** C# · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/GenHttpServer)

## Dockerfile

Expand Down Expand Up @@ -105,8 +105,8 @@ static Stream RequestContent(Stream body) => body;

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
6 changes: 3 additions & 3 deletions docs/content/servers/gin.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ toc: true
breadcrumbs: false
---

**Language:** Go · [View source on GitHub](https://github.com/MDA2AV/Http11Probe/tree/main/src/Servers/GinServer)
**Language:** Go · [View source on GitHub](https://github.com/MDA2AV/tree/main/src/Servers/GinServer)

## Dockerfile

Expand Down Expand Up @@ -97,8 +97,8 @@ func main() {

<div id="results-cookies"></div>

<script src="/Http11Probe/probe/data.js"></script>
<script src="/Http11Probe/probe/render.js"></script>
<script src="/probe/data.js"></script>
<script src="/probe/render.js"></script>
<script>
(function() {
if (!window.PROBE_DATA) {
Expand Down
Loading
Loading