diff --git a/README.md b/README.md index 6291be2..b62825e 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,8 @@ Tested across 11 languages: ## Usage +The probe is **target-agnostic** — it tests whatever HTTP/1.1 server is already listening on `--host:--port`. There's no flag to select a framework; start the server first (or use [`probe-local.sh`](#probing-the-bundled-servers-locally) to spin one up for you), then point the probe at it. + ``` dotnet run --project src/Http11Probe.Cli -- --host localhost --port 8080 ``` @@ -71,6 +73,55 @@ Results stream to the console as each test completes, with a summary at the end: Score: 97/97 19 warnings (146 tests, 35.5s) ``` +## Probing the bundled servers locally + +The probe only sends requests — it does not start servers. To probe one of the bundled servers under `src/Servers/`, use `scripts/probe-local.sh`. It mirrors the CI pipeline: builds the server's Docker image, runs it on `--network host`, waits for it to come up, probes it, then tears it down. + +``` +# Probe a single server — pass the directory name under src/Servers/, e.g. ActixServer +scripts/probe-local.sh --server ActixServer + +# Probe every bundled server +scripts/probe-local.sh --all +``` + +The `--server` value is the **directory name** (`ActixServer`), not the display name (`Actix`). If your Docker daemon requires root, add `--docker-sudo` so you don't have to run the whole script with `sudo`: + +``` +scripts/probe-local.sh --server ActixServer --docker-sudo +``` + +### Script options + +| Flag | Description | +|------|-------------| +| `--server