swaggest / rest

Web services with OpenAPI and JSON Schema done quick in Go
https://pkg.go.dev/github.com/swaggest/rest
MIT License
335 stars 17 forks source link

Update deps, fix lint, fix mount example #191

Closed vearutop closed 4 months ago

github-actions[bot] commented 4 months ago

Lines Of Code

Language Files Lines Code Comments Blanks Complexity Bytes
Go 112 8591 (+25) 6188 (+18) 649 (+1) 1754 (+6) 1022 209.1K (+537B)
Go (test) 55 (+1) 6611 (+153) 5072 (+123) 295 1244 (+30) 188 180.3K (+2.7K)
JSON 3 1855 (-1) 1855 (-1) 0 0 0 71.5K (-15B)
YAML 10 740 (+1) 635 (+1) 46 59 0 23.2K (+17B)
github-actions[bot] commented 4 months ago

Go API Changes

# summary
Inferred base version: v0.2.61
Suggested version: v0.2.62
github-actions[bot] commented 4 months ago

Unit Test Coverage

total: (statements) 81.2% changed lines: (statements) 100.0%

Coverage of changed lines | File | Function | Coverage | |---------------------------|-----------------------|-------------| | Total | | 100.0% | | nethttp/options.go | | 100.0% | | nethttp/options.go:86 | RequestMapping | 100.0% | | nethttp/options.go:117 | ResponseHeaderMapping | 100.0% | | nethttp/usecase.go | | 100.0% | | nethttp/usecase.go:11 | UseCaseMiddlewares | 100.0% | | request/factory.go | | 100.0% | | request/factory.go:174 | prepareCustomMapping | 100.0% | | request/factory.go:222 | jsonParams | 100.0% | | request/factory.go:256 | makeDefaultDecoder | 100.0% | | request/reflect.go | | 100.0% | | request/reflect.go:10 | hasFileFields | 100.0% | | response/encoder.go | | 100.0% | | response/encoder.go:77 | setupHeadersEncoder | 100.0% | | response/encoder.go:123 | setupCookiesEncoder | 100.0% | | _examples/jwtauth/main.go | | no coverage | | _examples/mount/main.go | | no coverage |
Coverage diff with base branch No changes in coverage.
codecov[bot] commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 76.16%. Comparing base (2ccfa52) to head (38cca4a).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #191 +/- ## ======================================= Coverage 76.16% 76.16% ======================================= Files 30 30 Lines 1712 1712 ======================================= Hits 1304 1304 Misses 295 295 Partials 113 113 ``` | [Flag](https://app.codecov.io/gh/swaggest/rest/pull/191/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=swaggest) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/swaggest/rest/pull/191/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=swaggest) | `76.16% <100.00%> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=swaggest#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 4 months ago

Benchmark Result

Benchmark diff with base branch ``` name old time/op new time/op delta pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-4 1.09µs ± 1% 1.09µs ± 1% ~ (p=0.827 n=6+5) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 507ns ± 3% 503ns ± 1% ~ (p=0.429 n=6+5) DecoderFunc_Decode-4 1.45µs ± 1% 1.46µs ± 1% ~ (p=0.461 n=6+6) Decoder_Decode_json-4 18.6µs ± 2% 18.5µs ± 1% ~ (p=1.000 n=6+6) Decoder_Decode_queryObject-4 3.92µs ± 0% 3.95µs ± 0% +0.97% (p=0.004 n=6+5) Decoder_Decode_jsonParam-4 1.51µs ± 0% 1.49µs ± 0% -1.47% (p=0.004 n=5+6) DecoderFactory_SetDecoderFunc-4 1.30µs ± 0% 1.29µs ± 0% -1.13% (p=0.004 n=5+6) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.4µs ± 0% 11.5µs ± 0% ~ (p=0.160 n=6+5) Middleware_control-4 2.74µs ± 1% 2.76µs ± 2% ~ (p=0.240 n=6+6) name old alloc/op new alloc/op delta pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-4 2.46kB ± 0% 2.46kB ± 0% ~ (all equal) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 440B ± 0% 440B ± 0% ~ (all equal) DecoderFunc_Decode-4 1.51kB ± 0% 1.51kB ± 0% ~ (all equal) Decoder_Decode_json-4 12.3kB ± 0% 12.3kB ± 0% ~ (all equal) Decoder_Decode_queryObject-4 2.00kB ± 0% 2.00kB ± 0% ~ (all equal) Decoder_Decode_jsonParam-4 736B ± 0% 736B ± 0% ~ (all equal) DecoderFactory_SetDecoderFunc-4 1.02kB ± 0% 1.02kB ± 0% ~ (all equal) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 1.33kB ± 1% 1.32kB ± 5% ~ (p=1.000 n=5+6) Middleware_control-4 11.2kB ± 0% 11.2kB ± 0% ~ (all equal) name old allocs/op new allocs/op delta pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-4 8.00 ± 0% 8.00 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 4.00 ± 0% 4.00 ± 0% ~ (all equal) DecoderFunc_Decode-4 12.0 ± 0% 12.0 ± 0% ~ (all equal) Decoder_Decode_json-4 177 ± 0% 177 ± 0% ~ (all equal) Decoder_Decode_queryObject-4 36.0 ± 0% 36.0 ± 0% ~ (all equal) Decoder_Decode_jsonParam-4 12.0 ± 0% 12.0 ± 0% ~ (all equal) DecoderFactory_SetDecoderFunc-4 16.0 ± 0% 16.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.0 ± 0% 11.0 ± 0% ~ (all equal) Middleware_control-4 9.00 ± 0% 9.00 ± 0% ~ (all equal) ```
Benchmark result ``` name time/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-4 1.09µs ± 1% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 503ns ± 1% DecoderFunc_Decode-4 1.46µs ± 1% Decoder_Decode_json-4 18.5µs ± 1% Decoder_Decode_queryObject-4 3.95µs ± 0% Decoder_Decode_jsonParam-4 1.49µs ± 0% DecoderFactory_SetDecoderFunc-4 1.29µs ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.5µs ± 0% Middleware_control-4 2.76µs ± 2% name alloc/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-4 2.46kB ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 440B ± 0% DecoderFunc_Decode-4 1.51kB ± 0% Decoder_Decode_json-4 12.3kB ± 0% Decoder_Decode_queryObject-4 2.00kB ± 0% Decoder_Decode_jsonParam-4 736B ± 0% DecoderFactory_SetDecoderFunc-4 1.02kB ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 1.32kB ± 5% Middleware_control-4 11.2kB ± 0% name allocs/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-4 8.00 ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 4.00 ± 0% DecoderFunc_Decode-4 12.0 ± 0% Decoder_Decode_json-4 177 ± 0% Decoder_Decode_queryObject-4 36.0 ± 0% Decoder_Decode_jsonParam-4 12.0 ± 0% DecoderFactory_SetDecoderFunc-4 16.0 ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.0 ± 0% Middleware_control-4 9.00 ± 0% ```
github-actions[bot] commented 4 months ago

Examples Benchmark Result

Benchmark diff with base branch ``` name old time/op new time/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 15.8µs ± 1% 15.8µs ± 1% ~ (p=0.886 n=4+4) _directGzipHead-4 15.7µs ± 1% 15.7µs ± 1% ~ (p=0.841 n=5+5) _noDirectGzip-4 91.3µs ± 1% 91.1µs ± 1% ~ (p=0.421 n=5+5) _directGzip_decode-4 320µs ± 0% 323µs ± 1% ~ (p=0.056 n=5+5) _noDirectGzip_decode-4 92.1µs ± 1% 91.8µs ± 1% ~ (p=0.421 n=5+5) _jsonBody-4 33.4µs ± 1% 34.4µs ± 1% +2.75% (p=0.008 n=5+5) _jsonBodyValidation-4 38.5µs ± 2% 40.0µs ± 1% +3.83% (p=0.008 n=5+5) _outputHeaders-4 16.4µs ± 3% 16.5µs ± 3% ~ (p=0.690 n=5+5) _requestResponseMapping-4 33.1µs ± 2% 34.3µs ± 0% +3.56% (p=0.008 n=5+5) _validation-4 35.7µs ± 2% 36.7µs ± 2% +2.83% (p=0.008 n=5+5) _noValidation-4 25.4µs ± 2% 26.2µs ± 2% +3.16% (p=0.016 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 16.0µs ± 1% 16.4µs ± 2% +2.48% (p=0.008 n=5+5) _directGzipHead-4 15.9µs ± 1% 16.0µs ± 0% +0.94% (p=0.016 n=4+5) _noDirectGzip-4 102µs ± 1% 91µs ± 0% -10.72% (p=0.008 n=5+5) _directGzip_decode-4 338µs ± 0% 325µs ± 0% -3.61% (p=0.008 n=5+5) _noDirectGzip_decode-4 103µs ± 2% 92µs ± 0% -11.20% (p=0.008 n=5+5) _htmlResponse-4 28.8µs ± 1% 29.3µs ± 1% +2.01% (p=0.008 n=5+5) _jsonBodyManual-4 20.2µs ± 1% 20.6µs ± 1% +2.01% (p=0.008 n=5+5) _jsonBody-4 30.2µs ± 0% 30.8µs ± 1% +2.04% (p=0.008 n=5+5) _jsonBodyValidation-4 38.9µs ± 1% 39.9µs ± 1% +2.46% (p=0.008 n=5+5) _outputHeaders-4 28.0µs ± 0% 28.8µs ± 1% +2.70% (p=0.008 n=5+5) _requestResponseMapping-4 32.9µs ± 2% 33.7µs ± 2% +2.37% (p=0.016 n=5+5) _validation-4 35.6µs ± 4% 36.4µs ± 0% ~ (p=0.190 n=5+4) _noValidation-4 25.2µs ± 1% 25.6µs ± 1% ~ (p=0.095 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 18.0µs ± 1% 18.0µs ± 2% ~ (p=0.413 n=4+5) _ok-4 17.8µs ± 0% 18.2µs ± 7% ~ (p=0.310 n=5+5) _invalidBody-4 26.2µs ± 4% 26.4µs ± 4% ~ (p=0.548 n=5+5) name old 50%:ms new 50%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 0.72 ± 4% 0.70 ± 6% ~ (p=0.095 n=5+5) _directGzipHead-4 0.69 ± 6% 0.67 ± 3% ~ (p=0.222 n=5+5) _noDirectGzip-4 4.09 ± 1% 4.23 ± 7% ~ (p=0.063 n=4+5) _directGzip_decode-4 11.7 ± 5% 10.3 ±16% ~ (p=0.056 n=5+5) _noDirectGzip_decode-4 4.21 ± 5% 4.22 ± 5% ~ (p=1.000 n=5+5) _jsonBody-4 1.47 ± 9% 1.41 ± 6% ~ (p=0.310 n=5+5) _jsonBodyValidation-4 1.60 ±11% 1.62 ± 5% ~ (p=0.548 n=5+5) _outputHeaders-4 0.71 ± 6% 0.72 ± 6% ~ (p=0.841 n=5+5) _requestResponseMapping-4 1.32 ± 7% 1.37 ± 4% ~ (p=0.421 n=5+5) _validation-4 1.44 ± 5% 1.46 ± 4% ~ (p=0.841 n=5+5) _noValidation-4 1.07 ± 6% 1.08 ± 4% ~ (p=1.000 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 0.70 ± 5% 0.73 ± 3% ~ (p=0.310 n=5+5) _directGzipHead-4 0.70 ± 8% 0.72 ± 5% ~ (p=0.421 n=5+5) _noDirectGzip-4 4.73 ± 6% 4.23 ± 6% -10.52% (p=0.008 n=5+5) _directGzip_decode-4 12.4 ± 5% 11.5 ± 3% -7.52% (p=0.016 n=5+5) _noDirectGzip_decode-4 4.58 ± 6% 4.12 ± 5% -10.02% (p=0.008 n=5+5) _htmlResponse-4 1.24 ± 7% 1.27 ± 6% ~ (p=1.000 n=5+5) _jsonBodyManual-4 0.92 ± 5% 0.90 ± 4% ~ (p=0.222 n=5+5) _jsonBody-4 1.28 ± 7% 1.30 ± 6% ~ (p=0.690 n=5+5) _jsonBodyValidation-4 1.58 ± 2% 1.65 ± 4% +4.71% (p=0.016 n=5+5) _outputHeaders-4 1.18 ± 6% 1.19 ± 6% ~ (p=1.000 n=5+5) _requestResponseMapping-4 1.30 ± 5% 1.34 ± 7% ~ (p=0.690 n=5+5) _validation-4 1.44 ±14% 1.47 ± 8% ~ (p=0.421 n=5+5) _noValidation-4 1.07 ± 5% 1.11 ± 5% ~ (p=0.310 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 0.83 ±10% 0.79 ± 7% ~ (p=0.421 n=5+5) _ok-4 0.79 ± 6% 0.81 ± 6% ~ (p=0.548 n=5+5) _invalidBody-4 1.06 ±11% 1.10 ± 4% ~ (p=0.151 n=5+5) name old 90%:ms new 90%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 1.42 ± 7% 1.46 ± 7% ~ (p=0.548 n=5+5) _directGzipHead-4 1.43 ± 6% 1.37 ± 1% ~ (p=0.421 n=5+5) _noDirectGzip-4 8.57 ± 7% 8.74 ± 4% ~ (p=0.222 n=5+5) _directGzip_decode-4 31.2 ±10% 32.1 ± 8% ~ (p=0.548 n=5+5) _noDirectGzip_decode-4 8.87 ± 1% 8.44 ± 4% -4.77% (p=0.008 n=5+5) _jsonBody-4 3.16 ± 4% 3.19 ± 4% ~ (p=1.000 n=5+5) _jsonBodyValidation-4 3.58 ± 5% 3.59 ± 4% ~ (p=1.000 n=5+5) _outputHeaders-4 1.50 ± 5% 1.48 ± 5% ~ (p=0.548 n=5+5) _requestResponseMapping-4 3.10 ± 4% 3.26 ± 7% ~ (p=0.222 n=5+5) _validation-4 3.36 ± 3% 3.43 ± 5% ~ (p=0.222 n=5+5) _noValidation-4 2.44 ± 4% 2.47 ± 3% ~ (p=0.841 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 1.44 ± 8% 1.51 ± 4% ~ (p=0.095 n=5+5) _directGzipHead-4 1.46 ± 7% 1.45 ± 8% ~ (p=0.690 n=5+5) _noDirectGzip-4 9.74 ± 4% 8.61 ± 4% -11.68% (p=0.008 n=5+5) _directGzip_decode-4 31.5 ± 3% 30.3 ± 6% ~ (p=0.056 n=5+5) _noDirectGzip_decode-4 9.85 ± 4% 8.56 ± 4% -13.11% (p=0.008 n=5+5) _htmlResponse-4 2.68 ± 8% 2.78 ± 4% ~ (p=0.421 n=5+5) _jsonBodyManual-4 1.78 ± 3% 1.88 ± 7% ~ (p=0.056 n=5+5) _jsonBody-4 2.80 ± 3% 2.93 ± 8% ~ (p=0.095 n=5+5) _jsonBodyValidation-4 3.63 ± 4% 3.67 ± 2% ~ (p=0.690 n=5+5) _outputHeaders-4 2.69 ± 5% 2.72 ± 4% ~ (p=0.548 n=5+5) _requestResponseMapping-4 3.09 ± 7% 3.17 ± 3% ~ (p=0.310 n=5+5) _validation-4 3.33 ± 8% 3.43 ± 6% ~ (p=0.310 n=5+5) _noValidation-4 2.31 ± 3% 2.41 ± 3% ~ (p=0.056 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 1.67 ±17% 1.69 ± 5% ~ (p=0.310 n=5+5) _ok-4 1.60 ± 4% 1.64 ±12% ~ (p=1.000 n=5+5) _invalidBody-4 2.48 ± 8% 2.50 ± 4% ~ (p=1.000 n=5+5) name old 99%:ms new 99%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 2.48 ±24% 2.50 ±24% ~ (p=0.690 n=5+5) _directGzipHead-4 2.37 ± 5% 2.32 ± 5% ~ (p=0.421 n=5+5) _noDirectGzip-4 13.2 ± 4% 13.3 ± 5% ~ (p=0.690 n=5+5) _directGzip_decode-4 57.6 ±10% 58.0 ± 1% ~ (p=1.000 n=5+4) _noDirectGzip_decode-4 13.5 ± 7% 13.1 ± 4% ~ (p=0.286 n=5+5) _jsonBody-4 4.92 ± 5% 4.96 ± 4% ~ (p=1.000 n=5+5) _jsonBodyValidation-4 5.82 ± 9% 6.23 ± 6% ~ (p=0.095 n=5+5) _outputHeaders-4 2.55 ± 7% 2.54 ± 3% ~ (p=1.000 n=5+5) _requestResponseMapping-4 5.66 ±16% 5.54 ± 7% ~ (p=0.841 n=5+5) _validation-4 6.05 ± 7% 6.24 ± 7% ~ (p=0.548 n=5+5) _noValidation-4 4.25 ±10% 4.35 ± 3% ~ (p=0.310 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 2.38 ± 4% 2.51 ±12% ~ (p=0.095 n=5+5) _directGzipHead-4 2.56 ±17% 2.38 ± 3% ~ (p=0.151 n=5+5) _noDirectGzip-4 15.0 ± 3% 13.3 ± 6% -11.43% (p=0.008 n=5+5) _directGzip_decode-4 60.6 ± 7% 56.8 ± 4% -6.27% (p=0.032 n=5+5) _noDirectGzip_decode-4 14.8 ± 7% 13.5 ± 3% -9.29% (p=0.008 n=5+5) _htmlResponse-4 4.65 ± 2% 4.76 ± 8% ~ (p=0.690 n=5+5) _jsonBodyManual-4 3.16 ± 6% 3.23 ± 3% ~ (p=0.548 n=5+5) _jsonBody-4 4.91 ± 5% 5.21 ± 8% ~ (p=0.222 n=5+5) _jsonBodyValidation-4 6.46 ±11% 6.30 ± 3% ~ (p=0.690 n=5+5) _outputHeaders-4 4.59 ± 3% 4.63 ± 6% ~ (p=0.841 n=5+5) _requestResponseMapping-4 5.25 ±11% 5.14 ± 5% ~ (p=0.548 n=5+5) _validation-4 5.56 ±11% 5.80 ±12% ~ (p=0.548 n=5+5) _noValidation-4 4.17 ± 5% 4.11 ± 6% ~ (p=0.690 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 2.82 ±26% 2.71 ± 5% ~ (p=0.690 n=5+5) _ok-4 2.63 ± 6% 2.70 ±20% ~ (p=1.000 n=5+5) _invalidBody-4 4.35 ± 7% 4.40 ± 7% ~ (p=0.690 n=5+5) name old 99.9%:ms new 99.9%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 5.31 ±101% 4.81 ±62% ~ (p=0.548 n=5+5) _directGzipHead-4 4.36 ±39% 4.21 ±17% ~ (p=1.000 n=5+5) _noDirectGzip-4 16.4 ± 7% 17.1 ± 7% ~ (p=0.222 n=5+5) _directGzip_decode-4 80.1 ±18% 81.3 ± 9% ~ (p=0.548 n=5+5) _noDirectGzip_decode-4 17.6 ±10% 16.8 ± 7% ~ (p=0.222 n=5+5) _jsonBody-4 7.86 ± 4% 7.79 ±14% ~ (p=0.841 n=5+5) _jsonBodyValidation-4 9.10 ±19% 9.16 ± 5% ~ (p=0.690 n=5+5) _outputHeaders-4 5.01 ±20% 5.49 ±13% ~ (p=0.421 n=5+5) _requestResponseMapping-4 8.88 ± 5% 8.81 ± 7% ~ (p=0.841 n=5+5) _validation-4 10.0 ±10% 9.6 ± 2% ~ (p=0.222 n=5+5) _noValidation-4 8.45 ±20% 7.04 ±13% -16.61% (p=0.032 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 3.90 ±22% 4.33 ±19% ~ (p=0.310 n=5+5) _directGzipHead-4 5.60 ±42% 4.33 ±22% ~ (p=0.056 n=5+5) _noDirectGzip-4 19.6 ±10% 16.7 ± 4% -15.21% (p=0.008 n=5+5) _directGzip_decode-4 79.7 ± 3% 71.1 ±11% -10.83% (p=0.032 n=5+5) _noDirectGzip_decode-4 22.8 ±39% 17.3 ±11% -24.16% (p=0.016 n=5+5) _htmlResponse-4 7.90 ±14% 7.98 ±15% ~ (p=1.000 n=5+5) _jsonBodyManual-4 6.12 ± 9% 6.35 ±34% ~ (p=0.548 n=5+5) _jsonBody-4 8.45 ±20% 8.67 ±17% ~ (p=0.690 n=5+5) _jsonBodyValidation-4 10.0 ± 7% 10.1 ± 5% ~ (p=1.000 n=5+5) _outputHeaders-4 7.66 ±12% 7.81 ±21% ~ (p=0.841 n=5+5) _requestResponseMapping-4 8.87 ±12% 8.88 ±15% ~ (p=1.000 n=5+5) _validation-4 9.24 ±25% 9.91 ±35% ~ (p=0.841 n=5+5) _noValidation-4 6.17 ±14% 6.37 ± 9% ~ (p=0.841 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 5.15 ±51% 4.70 ±38% ~ (p=1.000 n=5+5) _ok-4 3.86 ± 8% 4.92 ±90% ~ (p=1.000 n=5+5) _invalidBody-4 6.75 ±13% 7.13 ±20% ~ (p=0.690 n=5+5) name old B:rcvd/op new B:rcvd/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 630 ± 0% 630 ± 0% ~ (all equal) _directGzipHead-4 174 ± 0% 174 ± 0% ~ (all equal) _noDirectGzip-4 1.03k ± 0% 1.03k ± 0% ~ (all equal) _directGzip_decode-4 630 ± 0% 630 ± 0% ~ (all equal) _noDirectGzip_decode-4 1.03k ± 0% 1.03k ± 0% ~ (all equal) _jsonBody-4 199 ± 0% 199 ± 0% ~ (all equal) _jsonBodyValidation-4 185 ± 0% 185 ± 0% ~ (all equal) _outputHeaders-4 146 ± 0% 146 ± 0% ~ (all equal) _requestResponseMapping-4 94.0 ± 0% 94.0 ± 0% ~ (all equal) _validation-4 168 ± 0% 168 ± 0% ~ (all equal) _noValidation-4 168 ± 0% 168 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 638 ± 0% 638 ± 0% ~ (all equal) _directGzipHead-4 182 ± 0% 182 ± 0% ~ (all equal) _noDirectGzip-4 1.04k ± 0% 1.04k ± 0% ~ (all equal) _directGzip_decode-4 638 ± 0% 638 ± 0% ~ (all equal) _noDirectGzip_decode-4 1.04k ± 0% 1.04k ± 0% ~ (all equal) _htmlResponse-4 355 ± 0% 355 ± 0% ~ (all equal) _jsonBodyManual-4 207 ± 0% 207 ± 0% ~ (all equal) _jsonBody-4 207 ± 0% 207 ± 0% ~ (all equal) _jsonBodyValidation-4 193 ± 0% 193 ± 0% ~ (all equal) _outputHeaders-4 214 ± 0% 214 ± 0% ~ (all equal) _requestResponseMapping-4 108 ± 0% 108 ± 0% ~ (all equal) _validation-4 176 ± 0% 176 ± 0% ~ (all equal) _noValidation-4 176 ± 0% 176 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 322 ± 0% 322 ± 0% ~ (all equal) _ok-4 344 ± 0% 344 ± 0% ~ (p=0.333 n=4+5) _invalidBody-4 420 ± 0% 420 ± 0% ~ (all equal) name old B:sent/op new B:sent/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 103 ± 0% 103 ± 0% ~ (all equal) _directGzipHead-4 104 ± 0% 104 ± 0% ~ (all equal) _noDirectGzip-4 117 ± 0% 117 ± 0% ~ (all equal) _directGzip_decode-4 116 ± 0% 116 ± 0% ~ (all equal) _noDirectGzip_decode-4 130 ± 0% 130 ± 0% ~ (all equal) _jsonBody-4 188 ± 0% 188 ± 0% ~ (all equal) _jsonBodyValidation-4 192 ± 0% 192 ± 0% ~ (all equal) _outputHeaders-4 77.0 ± 0% 77.0 ± 0% ~ (all equal) _requestResponseMapping-4 169 ± 0% 169 ± 0% ~ (all equal) _validation-4 170 ± 0% 170 ± 0% ~ (all equal) _noValidation-4 173 ± 0% 173 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 103 ± 0% 103 ± 0% ~ (all equal) _directGzipHead-4 104 ± 0% 104 ± 0% ~ (all equal) _noDirectGzip-4 117 ± 0% 117 ± 0% ~ (all equal) _directGzip_decode-4 116 ± 0% 116 ± 0% ~ (all equal) _noDirectGzip_decode-4 130 ± 0% 130 ± 0% ~ (all equal) _htmlResponse-4 108 ± 0% 108 ± 0% ~ (all equal) _jsonBodyManual-4 195 ± 0% 195 ± 0% ~ (all equal) _jsonBody-4 188 ± 0% 188 ± 0% ~ (all equal) _jsonBodyValidation-4 192 ± 0% 192 ± 0% ~ (all equal) _outputHeaders-4 88.0 ± 0% 88.0 ± 0% ~ (all equal) _requestResponseMapping-4 169 ± 0% 169 ± 0% ~ (all equal) _validation-4 170 ± 0% 170 ± 0% ~ (all equal) _noValidation-4 173 ± 0% 173 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 74.0 ± 0% 74.0 ± 0% ~ (all equal) _ok-4 74.0 ± 0% 74.0 ± 0% ~ (all equal) _invalidBody-4 137 ± 0% 137 ± 0% ~ (all equal) name old rps new rps delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 62.0k ± 8% 63.5k ± 1% ~ (p=0.556 n=5+4) _directGzipHead-4 63.8k ± 1% 63.8k ± 1% ~ (p=0.841 n=5+5) _noDirectGzip-4 10.9k ± 1% 11.0k ± 1% ~ (p=0.421 n=5+5) _directGzip_decode-4 3.13k ± 0% 3.10k ± 1% ~ (p=0.056 n=5+5) _noDirectGzip_decode-4 10.9k ± 1% 10.9k ± 1% ~ (p=0.421 n=5+5) _jsonBody-4 29.9k ± 1% 29.1k ± 1% -2.68% (p=0.008 n=5+5) _jsonBodyValidation-4 26.0k ± 2% 25.0k ± 1% -3.70% (p=0.008 n=5+5) _outputHeaders-4 61.0k ± 3% 60.8k ± 3% ~ (p=0.690 n=5+5) _requestResponseMapping-4 30.2k ± 2% 29.2k ± 0% -3.46% (p=0.008 n=5+5) _validation-4 28.0k ± 2% 27.2k ± 2% -2.76% (p=0.008 n=5+5) _noValidation-4 39.4k ± 2% 38.2k ± 2% -3.06% (p=0.016 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 62.7k ± 1% 61.2k ± 2% -2.40% (p=0.008 n=5+5) _directGzipHead-4 62.9k ± 1% 62.3k ± 0% -0.93% (p=0.016 n=4+5) _noDirectGzip-4 9.77k ± 1% 10.94k ± 0% +12.01% (p=0.008 n=5+5) _directGzip_decode-4 2.96k ± 0% 3.07k ± 0% +3.75% (p=0.008 n=5+5) _noDirectGzip_decode-4 9.70k ± 2% 10.92k ± 0% +12.60% (p=0.008 n=5+5) _htmlResponse-4 34.8k ± 1% 34.1k ± 1% -1.97% (p=0.008 n=5+5) _jsonBodyManual-4 49.5k ± 1% 48.5k ± 1% -1.97% (p=0.008 n=5+5) _jsonBody-4 33.1k ± 0% 32.4k ± 1% -2.00% (p=0.008 n=5+5) _jsonBodyValidation-4 25.7k ± 1% 25.1k ± 1% -2.39% (p=0.008 n=5+5) _outputHeaders-4 35.7k ± 0% 34.7k ± 1% -2.62% (p=0.008 n=5+5) _requestResponseMapping-4 30.4k ± 2% 29.7k ± 2% -2.32% (p=0.016 n=5+5) _validation-4 28.1k ± 4% 27.5k ± 0% ~ (p=0.190 n=5+4) _noValidation-4 39.6k ± 1% 39.1k ± 1% ~ (p=0.095 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 55.5k ± 1% 55.6k ± 2% ~ (p=0.413 n=4+5) _ok-4 56.1k ± 0% 55.1k ± 6% ~ (p=0.310 n=5+5) _invalidBody-4 38.2k ± 4% 37.9k ± 4% ~ (p=0.548 n=5+5) name old alloc/op new alloc/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 3.86kB ± 0% 3.86kB ± 0% ~ (p=0.063 n=5+5) _directGzipHead-4 3.85kB ± 0% 3.86kB ± 0% +0.14% (p=0.008 n=5+5) _noDirectGzip-4 6.50kB ±24% 6.67kB ±29% ~ (p=0.730 n=5+5) _directGzip_decode-4 404kB ± 0% 404kB ± 0% ~ (p=0.421 n=5+5) _noDirectGzip_decode-4 5.82kB ±10% 5.88kB ± 8% ~ (p=0.690 n=5+5) _jsonBody-4 13.2kB ± 0% 13.2kB ± 0% +0.17% (p=0.008 n=5+5) _jsonBodyValidation-4 19.0kB ± 0% 19.0kB ± 0% +0.20% (p=0.008 n=5+5) _outputHeaders-4 3.57kB ± 0% 3.57kB ± 0% +0.08% (p=0.016 n=5+5) _requestResponseMapping-4 16.7kB ± 0% 16.7kB ± 0% +0.17% (p=0.008 n=5+5) _validation-4 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.079 n=5+5) _noValidation-4 7.78kB ± 0% 7.79kB ± 0% +0.12% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 3.89kB ± 0% 3.87kB ± 0% -0.33% (p=0.008 n=5+5) _directGzipHead-4 3.88kB ± 0% 3.87kB ± 0% -0.36% (p=0.008 n=5+5) _noDirectGzip-4 7.05kB ±17% 7.01kB ±25% ~ (p=1.000 n=5+5) _directGzip_decode-4 404kB ± 0% 404kB ± 0% +0.04% (p=0.016 n=5+5) _noDirectGzip_decode-4 6.11kB ± 9% 6.22kB ± 6% ~ (p=1.000 n=5+5) _htmlResponse-4 8.08kB ± 0% 8.07kB ± 0% -0.12% (p=0.008 n=5+5) _jsonBodyManual-4 4.50kB ± 0% 4.49kB ± 0% -0.24% (p=0.008 n=5+5) _jsonBody-4 10.3kB ± 0% 10.3kB ± 0% -0.05% (p=0.032 n=5+5) _jsonBodyValidation-4 19.1kB ± 0% 19.1kB ± 0% ~ (p=0.452 n=5+5) _outputHeaders-4 10.4kB ± 0% 10.4kB ± 0% -0.06% (p=0.016 n=5+5) _requestResponseMapping-4 16.7kB ± 0% 16.7kB ± 0% ~ (p=0.508 n=5+4) _validation-4 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.206 n=5+5) _noValidation-4 7.84kB ± 0% 7.82kB ± 0% -0.16% (p=0.016 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 4.65kB ± 0% 4.65kB ± 0% ~ (p=0.056 n=5+5) _ok-4 4.55kB ± 0% 4.56kB ± 0% ~ (p=0.086 n=4+4) _invalidBody-4 8.27kB ± 0% 8.28kB ± 0% ~ (p=0.686 n=4+4) name old allocs/op new allocs/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 42.0 ± 0% 42.0 ± 0% ~ (all equal) _directGzipHead-4 42.0 ± 0% 42.0 ± 0% ~ (all equal) _noDirectGzip-4 49.2 ± 4% 49.2 ± 4% ~ (p=1.000 n=5+5) _directGzip_decode-4 503 ± 0% 503 ± 0% ~ (p=0.881 n=5+5) _noDirectGzip_decode-4 50.0 ± 0% 50.0 ± 0% ~ (all equal) _jsonBody-4 128 ± 0% 128 ± 0% ~ (all equal) _jsonBodyValidation-4 186 ± 0% 186 ± 0% ~ (all equal) _outputHeaders-4 36.0 ± 0% 36.0 ± 0% ~ (all equal) _requestResponseMapping-4 124 ± 0% 124 ± 0% ~ (all equal) _validation-4 154 ± 0% 155 ± 0% ~ (p=0.167 n=5+5) _noValidation-4 91.0 ± 0% 91.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 44.0 ± 0% 43.0 ± 0% -2.27% (p=0.008 n=5+5) _directGzipHead-4 44.0 ± 0% 43.0 ± 0% -2.27% (p=0.008 n=5+5) _noDirectGzip-4 51.2 ± 4% 50.2 ± 4% ~ (p=0.151 n=5+5) _directGzip_decode-4 505 ± 0% 504 ± 0% ~ (p=0.167 n=5+5) _noDirectGzip_decode-4 52.0 ± 0% 51.0 ± 0% -1.92% (p=0.008 n=5+5) _htmlResponse-4 145 ± 0% 144 ± 0% -0.69% (p=0.008 n=5+5) _jsonBodyManual-4 49.0 ± 0% 48.0 ± 0% -2.04% (p=0.008 n=5+5) _jsonBody-4 100 ± 0% 99 ± 0% -1.00% (p=0.008 n=5+5) _jsonBodyValidation-4 188 ± 0% 187 ± 0% -0.53% (p=0.008 n=5+5) _outputHeaders-4 113 ± 0% 112 ± 0% -0.88% (p=0.008 n=5+5) _requestResponseMapping-4 126 ± 0% 125 ± 0% -0.79% (p=0.008 n=5+5) _validation-4 156 ± 0% 155 ± 0% -0.64% (p=0.000 n=5+4) _noValidation-4 93.0 ± 0% 92.0 ± 0% -1.08% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 53.0 ± 0% 53.0 ± 0% ~ (all equal) _ok-4 49.0 ± 0% 49.0 ± 0% ~ (all equal) _invalidBody-4 97.0 ± 0% 97.0 ± 0% ~ (all equal) ```