# web Web server. ## Features - High performance - Low latency - Radix tree routing ## 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: TestUnavailablePort coverage: 95.5% of statements ``` ## Benchmarks ``` BenchmarkStatic/#00-12 32963155 30.88 ns/op 0 B/op 0 allocs/op BenchmarkStatic/hello-12 31640433 37.92 ns/op 0 B/op 0 allocs/op BenchmarkStatic/hello/world-12 22497412 52.57 ns/op 0 B/op 0 allocs/op BenchmarkGitHub/gists/:id-12 24162244 49.70 ns/op 0 B/op 0 allocs/op BenchmarkGitHub/repos/:a/:b-12 18865028 59.22 ns/op 0 B/op 0 allocs/op ``` ## License Please see the [license documentation](https://akyoto.dev/license). ## Copyright © 2024 Eduard Urbach