|
1 | 1 | # aspnet-minimal |
2 | 2 |
|
3 | | -Minimal ASP.NET Core HTTP server using .NET 10 preview. Uses the built-in Kestrel web server with minimal API routing. |
| 3 | +Minimal ASP.NET Core HTTP server using .NET 10 preview with Kestrel and minimal API routing. |
4 | 4 |
|
5 | 5 | ## Stack |
6 | 6 |
|
7 | | -- **Runtime:** .NET 10 (preview, Alpine) |
8 | | -- **Web server:** Kestrel (ASP.NET Core built-in) |
9 | | -- **Routing:** Minimal API (`MapGet`/`MapPost`) |
| 7 | +- **Language:** C# / .NET 10 (preview, Alpine) |
| 8 | +- **Framework:** ASP.NET Core Minimal APIs |
| 9 | +- **Engine:** Kestrel |
| 10 | +- **Build:** Self-contained publish, `aspnet:10.0-preview-alpine` runtime |
10 | 11 |
|
11 | 12 | ## Endpoints |
12 | 13 |
|
13 | | -- `GET /pipeline` — returns `ok` (plain text) |
14 | | -- `GET /baseline11?a=N&b=N` — sums query parameter values |
15 | | -- `POST /baseline11?a=N&b=N` — sums query parameters + request body (Content-Length and chunked) |
| 14 | +| Endpoint | Method | Description | |
| 15 | +|----------|--------|-------------| |
| 16 | +| `/pipeline` | GET | Returns `ok` (plain text) | |
| 17 | +| `/baseline11` | GET | Sums query parameter values | |
| 18 | +| `/baseline11` | POST | Sums query parameters + request body | |
| 19 | +| `/baseline2` | GET | Sums query parameter values (HTTP/2 variant) | |
| 20 | +| `/json` | GET | Processes 50-item dataset, serializes JSON | |
| 21 | +| `/compression` | GET | Gzip-compressed large JSON response | |
| 22 | +| `/db` | GET | SQLite range query with JSON response | |
| 23 | +| `/upload` | POST | Receives 1 MB body, returns byte count | |
| 24 | +| `/static/{filename}` | GET | Serves preloaded static files with MIME types | |
16 | 25 |
|
17 | 26 | ## Notes |
18 | 27 |
|
19 | | -- Logging is disabled (`ClearProviders()`) for maximum throughput |
20 | | -- Uses `StreamReader` for async body reading |
21 | | -- Single-file implementation in `Program.cs` |
| 28 | +- HTTP/1.1 on port 8080, HTTP/1+2+3 on port 8443 |
| 29 | +- Logging disabled (`ClearProviders()`) for throughput |
| 30 | +- Response compression middleware (gzip, fastest level) |
| 31 | +- HTTP/2 tuned: 256 max streams, 2 MB connection window |
| 32 | +- Split into Program.cs, Handlers.cs, AppData.cs, Models.cs |
0 commit comments