# web A fast HTTP/1.1 web server that can sit behind a reverse proxy like `caddy` or `nginx` for HTTP 1/2/3 support. ## Features - High performance - Low latency - Scales incredibly well with the number of routes ## Installation ```shell go get git.akyoto.dev/go/web ``` ## Usage ```go s := web.NewServer() // Static route s.Get("/", func(ctx web.Context) error { return ctx.String("Hello") }) // Parameter route s.Get("/blog/:post", func(ctx web.Context) error { return ctx.String(ctx.Get("post")) }) // Wildcard route s.Get("/images/*file", func(ctx web.Context) error { return ctx.String(ctx.Get("file")) }) s.Run(":8080") ``` ## Tests ``` PASS: TestBytes PASS: TestString PASS: TestError PASS: TestErrorMultiple PASS: TestRequest PASS: TestRequestHeader PASS: TestRequestParam PASS: TestWrite PASS: TestWriteString PASS: TestResponseCompression PASS: TestResponseHeader PASS: TestResponseHeaderOverwrite PASS: TestPanic PASS: TestRun PASS: TestBadRequest PASS: TestBadRequestHeader PASS: TestBadRequestMethod PASS: TestBadRequestProtocol PASS: TestEarlyClose PASS: TestUnavailablePort coverage: 100.0% of statements ``` ## Benchmarks ![wrk: requests per second](https://i.imgur.com/G9zhGg4.png) ## License Please see the [license documentation](https://akyoto.dev/license). ## Copyright © 2024 Eduard Urbach