swaggest / rest

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

Inspect wrapped handlers in Mount #86

Closed vearutop closed 2 years ago

vearutop commented 2 years ago

Resolves #84.

github-actions[bot] commented 2 years ago

Lines Of Code

Language Files Lines Code Comments Blanks Complexity Bytes
Go 100 (+1) 6891 (+93) 5003 (+74) 458 (+1) 1430 (+18) 808 (+8) 166.6K (+2.2K)
Go (test) 44 4750 (+102) 3658 (+85) 146 (+1) 946 (+16) 120 132.1K (+2.8K)
Markdown 3 474 (+20) 361 (+13) 0 113 (+7) 0 16.5K (+717B)
YAML 10 707 (+2) 612 (+2) 46 49 0 22.2K (+98B)
github-actions[bot] commented 2 years ago

Unit Test Coverage

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

Coverage of changed lines | File | Function | Coverage | |--------------------------|-------------------|----------| | Total | | 100.0% | | chirouter/wrapper.go | | 100.0% | | chirouter/wrapper.go:93 | Mount | 100.0% | | chirouter/wrapper.go:190 | prepareHandler | 100.0% | | chirouter/wrapper.go:198 | handlersWithRoute | 100.0% | | chirouter/wrapper.go:202 | handlerWraps | 100.0% |
Coverage diff with base branch | File | Function | Base Coverage | Current Coverage | |-----------------------------------------------|-------------------|---------------|------------------| | Total | | 83.2% | 83.5% (+0.3%) | | github.com/swaggest/rest/chirouter/wrapper.go | Wrap | 0.0% | 100.0% (+100.0%) | | github.com/swaggest/rest/chirouter/wrapper.go | handlerWraps | no function | 100.0% | | github.com/swaggest/rest/chirouter/wrapper.go | handlersWithRoute | no function | 100.0% |
codecov[bot] commented 2 years ago

Codecov Report

Merging #86 (b076985) into master (594b2d2) will increase coverage by 0.30%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #86      +/-   ##
==========================================
+ Coverage   77.21%   77.52%   +0.30%     
==========================================
  Files          27       27              
  Lines        1413     1428      +15     
==========================================
+ Hits         1091     1107      +16     
+ Misses        207      206       -1     
  Partials      115      115              
Flag Coverage Δ
unittests 77.52% <100.00%> (+0.30%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
chirouter/wrapper.go 100.00% <100.00%> (+2.08%) :arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

github-actions[bot] commented 2 years ago

Go API Changes

# summary
Inferred base version: v0.2.29
Suggested version: v0.3.0
github-actions[bot] commented 2 years 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-2 1.31µs ± 1% 1.34µs ±11% ~ (p=0.730 n=4+5) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 705ns ± 1% 695ns ± 0% -1.39% (p=0.008 n=5+5) DecoderFunc_Decode-2 2.07µs ± 0% 2.08µs ± 1% ~ (p=0.556 n=4+5) Decoder_Decode_json-2 23.1µs ± 1% 23.0µs ± 1% ~ (p=0.310 n=5+5) Decoder_Decode_queryObject-2 5.23µs ± 1% 5.02µs ± 0% -3.93% (p=0.008 n=5+5) Decoder_Decode_jsonParam-2 1.95µs ± 0% 1.96µs ± 1% ~ (p=0.460 n=5+5) DecoderFactory_SetDecoderFunc-2 1.71µs ± 2% 1.69µs ± 0% -1.38% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 11.8µs ± 1% 12.0µs ± 5% ~ (p=1.000 n=5+5) Middleware_control-2 3.05µs ± 2% 3.09µs ± 1% ~ (p=0.151 n=5+5) name old alloc/op new alloc/op delta pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-2 2.46kB ± 0% 2.46kB ± 0% ~ (all equal) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 440B ± 0% 440B ± 0% ~ (all equal) DecoderFunc_Decode-2 1.51kB ± 0% 1.51kB ± 0% ~ (all equal) Decoder_Decode_json-2 12.2kB ± 0% 12.2kB ± 0% ~ (all equal) Decoder_Decode_queryObject-2 2.00kB ± 0% 2.00kB ± 0% ~ (all equal) Decoder_Decode_jsonParam-2 736B ± 0% 736B ± 0% ~ (all equal) DecoderFactory_SetDecoderFunc-2 1.02kB ± 0% 1.02kB ± 0% ~ (all equal) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 1.21kB ± 3% 1.21kB ± 4% ~ (p=1.000 n=5+5) Middleware_control-2 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-2 8.00 ± 0% 8.00 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 4.00 ± 0% 4.00 ± 0% ~ (all equal) DecoderFunc_Decode-2 12.0 ± 0% 12.0 ± 0% ~ (all equal) Decoder_Decode_json-2 177 ± 0% 177 ± 0% ~ (all equal) Decoder_Decode_queryObject-2 36.0 ± 0% 36.0 ± 0% ~ (all equal) Decoder_Decode_jsonParam-2 13.0 ± 0% 13.0 ± 0% ~ (all equal) DecoderFactory_SetDecoderFunc-2 16.0 ± 0% 16.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 11.0 ± 0% 11.0 ± 0% ~ (all equal) Middleware_control-2 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-2 1.34µs ±11% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 695ns ± 0% DecoderFunc_Decode-2 2.08µs ± 1% Decoder_Decode_json-2 23.0µs ± 1% Decoder_Decode_queryObject-2 5.02µs ± 0% Decoder_Decode_jsonParam-2 1.96µs ± 1% DecoderFactory_SetDecoderFunc-2 1.69µs ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 12.0µs ± 5% Middleware_control-2 3.09µs ± 1% name alloc/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-2 2.46kB ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 440B ± 0% DecoderFunc_Decode-2 1.51kB ± 0% Decoder_Decode_json-2 12.2kB ± 0% Decoder_Decode_queryObject-2 2.00kB ± 0% Decoder_Decode_jsonParam-2 736B ± 0% DecoderFactory_SetDecoderFunc-2 1.02kB ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 1.21kB ± 4% Middleware_control-2 11.2kB ± 0% name allocs/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-2 8.00 ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 4.00 ± 0% DecoderFunc_Decode-2 12.0 ± 0% Decoder_Decode_json-2 177 ± 0% Decoder_Decode_queryObject-2 36.0 ± 0% Decoder_Decode_jsonParam-2 13.0 ± 0% DecoderFactory_SetDecoderFunc-2 16.0 ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 11.0 ± 0% Middleware_control-2 9.00 ± 0% ```
github-actions[bot] commented 2 years 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-2 26.9µs ± 1% 29.0µs ± 5% +7.76% (p=0.016 n=4+5) _directGzipHead-2 26.5µs ± 2% 26.2µs ± 5% ~ (p=0.222 n=5+5) _noDirectGzip-2 131µs ± 1% 140µs ± 1% +6.43% (p=0.008 n=5+5) _directGzip_decode-2 466µs ± 4% 550µs ± 3% +18.01% (p=0.008 n=5+5) _noDirectGzip_decode-2 132µs ± 2% 144µs ± 2% +8.76% (p=0.016 n=4+5) _jsonBody-2 50.0µs ± 4% 56.2µs ± 4% +12.48% (p=0.008 n=5+5) _jsonBodyValidation-2 55.7µs ± 5% 66.2µs ± 2% +18.82% (p=0.008 n=5+5) _outputHeaders-2 27.0µs ± 1% 31.1µs ± 4% +15.27% (p=0.008 n=5+5) _requestResponseMapping-2 50.3µs ± 0% 55.8µs ± 3% +10.95% (p=0.016 n=4+5) _validation-2 52.6µs ± 3% 58.9µs ± 1% +11.93% (p=0.008 n=5+5) _noValidation-2 39.3µs ± 1% 44.8µs ± 4% +14.01% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 27.6µs ± 1% 32.6µs ±12% +18.05% (p=0.008 n=5+5) _directGzipHead-2 29.4µs ±10% 31.8µs ±12% ~ (p=0.095 n=5+5) _noDirectGzip-2 134µs ± 1% 148µs ± 1% +11.03% (p=0.008 n=5+5) _directGzip_decode-2 481µs ± 1% 599µs ± 6% +24.59% (p=0.008 n=5+5) _noDirectGzip_decode-2 134µs ± 2% 144µs ± 2% +7.88% (p=0.008 n=5+5) _jsonBodyManual-2 32.0µs ± 1% 35.9µs ± 1% +12.18% (p=0.008 n=5+5) _jsonBody-2 45.5µs ± 2% 51.5µs ± 1% +13.33% (p=0.008 n=5+5) _jsonBodyValidation-2 57.3µs ± 3% 65.2µs ± 2% +13.70% (p=0.008 n=5+5) _outputHeaders-2 28.0µs ± 5% 30.4µs ± 2% +8.25% (p=0.008 n=5+5) _requestResponseMapping-2 47.6µs ± 4% 58.0µs ± 4% +21.71% (p=0.008 n=5+5) _validation-2 50.8µs ± 5% 60.9µs ± 7% +19.85% (p=0.008 n=5+5) _noValidation-2 38.4µs ± 1% 43.3µs ± 1% +12.52% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 29.7µs ± 3% 34.8µs ± 1% +17.43% (p=0.016 n=5+4) _ok-2 30.2µs ± 1% 35.4µs ± 4% +17.18% (p=0.016 n=4+5) _invalidBody-2 44.3µs ± 8% 49.0µs ± 2% +10.83% (p=0.008 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-2 639 ± 0% 639 ± 0% ~ (all equal) _directGzipHead-2 183 ± 0% 183 ± 0% ~ (all equal) _noDirectGzip-2 1.04k ± 0% 1.04k ± 0% ~ (all equal) _directGzip_decode-2 639 ± 0% 639 ± 0% ~ (all equal) _noDirectGzip_decode-2 1.04k ± 0% 1.04k ± 0% ~ (all equal) _jsonBody-2 208 ± 0% 208 ± 0% ~ (all equal) _jsonBodyValidation-2 194 ± 0% 194 ± 0% ~ (all equal) _outputHeaders-2 155 ± 0% 155 ± 0% ~ (all equal) _requestResponseMapping-2 94.0 ± 0% 94.0 ± 0% ~ (all equal) _validation-2 177 ± 0% 177 ± 0% ~ (all equal) _noValidation-2 177 ± 0% 177 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 653 ± 0% 653 ± 0% ~ (all equal) _directGzipHead-2 197 ± 0% 197 ± 0% ~ (all equal) _noDirectGzip-2 1.06k ± 0% 1.06k ± 0% ~ (all equal) _directGzip_decode-2 653 ± 0% 653 ± 0% ~ (all equal) _noDirectGzip_decode-2 1.06k ± 0% 1.06k ± 0% ~ (all equal) _jsonBodyManual-2 222 ± 0% 222 ± 0% ~ (all equal) _jsonBody-2 222 ± 0% 222 ± 0% ~ (all equal) _jsonBodyValidation-2 208 ± 0% 208 ± 0% ~ (all equal) _outputHeaders-2 169 ± 0% 169 ± 0% ~ (all equal) _requestResponseMapping-2 108 ± 0% 108 ± 0% ~ (all equal) _validation-2 191 ± 0% 191 ± 0% ~ (all equal) _noValidation-2 191 ± 0% 191 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 337 ± 0% 337 ± 0% ~ (all equal) _ok-2 359 ± 0% 359 ± 0% ~ (all equal) _invalidBody-2 435 ± 0% 435 ± 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-2 103 ± 0% 103 ± 0% ~ (all equal) _directGzipHead-2 104 ± 0% 104 ± 0% ~ (all equal) _noDirectGzip-2 117 ± 0% 117 ± 0% ~ (all equal) _directGzip_decode-2 116 ± 0% 116 ± 0% ~ (all equal) _noDirectGzip_decode-2 130 ± 0% 130 ± 0% ~ (all equal) _jsonBody-2 188 ± 0% 188 ± 0% ~ (all equal) _jsonBodyValidation-2 192 ± 0% 192 ± 0% ~ (all equal) _outputHeaders-2 77.0 ± 0% 77.0 ± 0% ~ (all equal) _requestResponseMapping-2 169 ± 0% 169 ± 0% ~ (all equal) _validation-2 170 ± 0% 170 ± 0% ~ (all equal) _noValidation-2 173 ± 0% 173 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 103 ± 0% 103 ± 0% ~ (all equal) _directGzipHead-2 104 ± 0% 104 ± 0% ~ (all equal) _noDirectGzip-2 117 ± 0% 117 ± 0% ~ (all equal) _directGzip_decode-2 116 ± 0% 116 ± 0% ~ (all equal) _noDirectGzip_decode-2 130 ± 0% 130 ± 0% ~ (all equal) _jsonBodyManual-2 195 ± 0% 195 ± 0% ~ (all equal) _jsonBody-2 188 ± 0% 188 ± 0% ~ (all equal) _jsonBodyValidation-2 192 ± 0% 192 ± 0% ~ (all equal) _outputHeaders-2 77.0 ± 0% 77.0 ± 0% ~ (all equal) _requestResponseMapping-2 169 ± 0% 169 ± 0% ~ (all equal) _validation-2 170 ± 0% 170 ± 0% ~ (all equal) _noValidation-2 173 ± 0% 173 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 74.0 ± 0% 74.0 ± 0% ~ (all equal) _ok-2 74.0 ± 0% 74.0 ± 0% ~ (all equal) _invalidBody-2 137 ± 0% 137 ± 0% ~ (all equal) name old rps new rps delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 37.2k ± 1% 34.5k ± 5% -7.16% (p=0.016 n=4+5) _directGzipHead-2 37.8k ± 2% 38.1k ± 5% ~ (p=0.222 n=5+5) _noDirectGzip-2 7.61k ± 1% 7.15k ± 1% -6.03% (p=0.008 n=5+5) _directGzip_decode-2 2.15k ± 4% 1.82k ± 3% -15.32% (p=0.008 n=5+5) _noDirectGzip_decode-2 7.29k ±16% 6.96k ± 2% ~ (p=0.151 n=5+5) _jsonBody-2 20.0k ± 4% 17.8k ± 4% -11.20% (p=0.008 n=5+5) _jsonBodyValidation-2 18.0k ± 5% 15.1k ± 2% -15.88% (p=0.008 n=5+5) _outputHeaders-2 37.0k ± 1% 32.2k ± 4% -13.17% (p=0.008 n=5+5) _requestResponseMapping-2 19.9k ± 0% 17.9k ± 4% -9.84% (p=0.016 n=4+5) _validation-2 19.0k ± 3% 17.0k ± 1% -10.68% (p=0.008 n=5+5) _noValidation-2 25.4k ± 1% 22.3k ± 4% -12.26% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 36.2k ± 1% 30.8k ±11% -15.02% (p=0.008 n=5+5) _directGzipHead-2 34.1k ± 9% 31.5k ±11% ~ (p=0.095 n=5+5) _noDirectGzip-2 7.48k ± 1% 6.74k ± 1% -9.93% (p=0.008 n=5+5) _directGzip_decode-2 2.08k ± 1% 1.67k ± 6% -19.66% (p=0.008 n=5+5) _noDirectGzip_decode-2 7.49k ± 2% 6.93k ± 2% -7.41% (p=0.008 n=5+5) _jsonBodyManual-2 31.3k ± 1% 27.8k ± 1% -10.94% (p=0.008 n=5+5) _jsonBody-2 22.0k ± 2% 19.4k ± 1% -11.77% (p=0.008 n=5+5) _jsonBodyValidation-2 17.4k ± 3% 15.3k ± 2% -12.09% (p=0.008 n=5+5) _outputHeaders-2 35.7k ± 6% 32.9k ± 2% -7.71% (p=0.008 n=5+5) _requestResponseMapping-2 21.0k ± 4% 17.3k ± 3% -17.87% (p=0.008 n=5+5) _validation-2 19.7k ± 5% 16.5k ± 7% -16.42% (p=0.008 n=5+5) _noValidation-2 26.0k ± 1% 23.1k ± 1% -11.12% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 33.7k ± 3% 28.7k ± 1% -14.85% (p=0.016 n=5+4) _ok-2 33.1k ± 1% 28.3k ± 4% -14.64% (p=0.016 n=4+5) _invalidBody-2 22.6k ± 8% 20.4k ± 2% -9.98% (p=0.008 n=5+5) name old alloc/op new alloc/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 3.92kB ± 0% 3.93kB ± 0% ~ (p=0.175 n=5+5) _directGzipHead-2 3.92kB ± 0% 3.92kB ± 0% ~ (p=0.968 n=4+5) _noDirectGzip-2 6.59kB ±14% 6.88kB ±20% ~ (p=0.841 n=5+5) _directGzip_decode-2 403kB ± 0% 403kB ± 0% +0.05% (p=0.016 n=5+5) _noDirectGzip_decode-2 5.50kB ± 3% 5.56kB ± 8% ~ (p=1.000 n=5+5) _jsonBody-2 13.2kB ± 0% 13.2kB ± 0% +0.04% (p=0.008 n=5+5) _jsonBodyValidation-2 19.0kB ± 0% 19.0kB ± 0% +0.05% (p=0.032 n=5+5) _outputHeaders-2 3.71kB ± 0% 3.72kB ± 0% +0.15% (p=0.024 n=5+5) _requestResponseMapping-2 16.7kB ± 0% 16.7kB ± 0% ~ (p=0.095 n=5+5) _validation-2 16.6kB ± 0% 16.6kB ± 0% +0.05% (p=0.008 n=5+5) _noValidation-2 7.88kB ± 0% 7.89kB ± 0% +0.06% (p=0.024 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 3.97kB ± 0% 3.98kB ± 0% +0.14% (p=0.008 n=5+5) _directGzipHead-2 3.97kB ± 0% 3.97kB ± 0% ~ (p=0.587 n=5+4) _noDirectGzip-2 6.77kB ±20% 6.80kB ±22% ~ (p=0.690 n=5+5) _directGzip_decode-2 403kB ± 0% 403kB ± 0% +0.05% (p=0.008 n=5+5) _noDirectGzip_decode-2 5.53kB ± 6% 5.79kB ± 8% ~ (p=0.421 n=5+5) _jsonBodyManual-2 4.65kB ± 0% 4.65kB ± 0% +0.11% (p=0.008 n=5+5) _jsonBody-2 10.4kB ± 0% 10.4kB ± 0% ~ (p=0.056 n=5+5) _jsonBodyValidation-2 19.1kB ± 0% 19.1kB ± 0% +0.06% (p=0.008 n=5+5) _outputHeaders-2 3.74kB ± 0% 3.74kB ± 0% ~ (p=0.079 n=5+4) _requestResponseMapping-2 16.7kB ± 0% 16.8kB ± 0% +0.06% (p=0.008 n=5+5) _validation-2 16.7kB ± 0% 16.7kB ± 0% +0.06% (p=0.008 n=5+5) _noValidation-2 7.95kB ± 0% 7.95kB ± 0% +0.07% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 4.88kB ± 0% 4.88kB ± 0% ~ (p=0.841 n=5+5) _ok-2 4.78kB ± 0% 4.78kB ± 0% ~ (p=0.857 n=4+4) _invalidBody-2 8.62kB ± 0% 8.63kB ± 0% ~ (p=0.343 n=4+4) name old allocs/op new allocs/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 42.0 ± 0% 42.0 ± 0% ~ (all equal) _directGzipHead-2 42.0 ± 0% 42.0 ± 0% ~ (all equal) _noDirectGzip-2 49.6 ± 3% 49.8 ± 4% ~ (p=1.000 n=5+5) _directGzip_decode-2 501 ± 0% 501 ± 0% ~ (p=0.556 n=5+4) _noDirectGzip_decode-2 50.0 ± 0% 50.0 ± 0% ~ (all equal) _jsonBody-2 130 ± 0% 130 ± 0% ~ (all equal) _jsonBodyValidation-2 186 ± 0% 186 ± 0% ~ (all equal) _outputHeaders-2 37.0 ± 0% 37.0 ± 0% ~ (all equal) _requestResponseMapping-2 126 ± 0% 126 ± 0% ~ (all equal) _validation-2 155 ± 0% 155 ± 0% ~ (all equal) _noValidation-2 92.0 ± 0% 92.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 44.0 ± 0% 44.0 ± 0% ~ (all equal) _directGzipHead-2 44.0 ± 0% 44.0 ± 0% ~ (all equal) _noDirectGzip-2 51.6 ± 3% 51.8 ± 3% ~ (p=1.000 n=5+5) _directGzip_decode-2 503 ± 0% 504 ± 0% ~ (p=0.238 n=4+5) _noDirectGzip_decode-2 52.0 ± 0% 52.0 ± 0% ~ (all equal) _jsonBodyManual-2 51.0 ± 0% 51.0 ± 0% ~ (all equal) _jsonBody-2 102 ± 0% 102 ± 0% ~ (all equal) _jsonBodyValidation-2 188 ± 0% 188 ± 0% ~ (all equal) _outputHeaders-2 38.0 ± 0% 38.0 ± 0% ~ (all equal) _requestResponseMapping-2 128 ± 0% 128 ± 0% ~ (all equal) _validation-2 157 ± 0% 157 ± 0% ~ (all equal) _noValidation-2 94.0 ± 0% 94.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 54.0 ± 0% 54.0 ± 0% ~ (all equal) _ok-2 50.0 ± 0% 50.0 ± 0% ~ (all equal) _invalidBody-2 99.0 ± 0% 99.0 ± 0% ~ (all equal) ```