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

Add HTML response use case to examples #90

Closed vearutop closed 1 year ago

github-actions[bot] commented 1 year ago

Lines Of Code

Language Files Lines Code Comments Blanks Complexity Bytes
Go 101 (+1) 6967 (+71) 5058 (+55) 464 (+1) 1445 (+15) 838 (+2) 168.1K (+1.5K)
Go (test) 45 (+1) 4808 (+58) 3704 (+46) 147 (+1) 957 (+11) 172 (+3) 133.7K (+1.5K)
JSON 3 1332 (+13) 1332 (+13) 0 0 0 54.7K (+672B)
github-actions[bot] commented 1 year ago

Go API Changes

# summary
Inferred base version: v0.2.32
Suggested version: v0.2.33
github-actions[bot] commented 1 year ago

Unit Test Coverage

total: (statements) 83.5%

Coverage of changed lines No changes in testable statements.
Coverage diff with base branch No changes in coverage.
github-actions[bot] commented 1 year 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.34µs ± 1% 1.32µs ± 1% -1.15% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 702ns ± 1% 702ns ± 0% ~ (p=0.778 n=5+4) DecoderFunc_Decode-2 2.00µs ± 1% 2.00µs ± 2% ~ (p=0.841 n=5+5) Decoder_Decode_json-2 21.5µs ± 1% 21.4µs ± 1% ~ (p=0.548 n=5+5) Decoder_Decode_queryObject-2 4.67µs ± 0% 4.66µs ± 1% ~ (p=0.389 n=5+5) Decoder_Decode_jsonParam-2 1.77µs ± 0% 1.75µs ± 0% -1.12% (p=0.008 n=5+5) DecoderFactory_SetDecoderFunc-2 1.62µs ± 0% 1.63µs ± 0% +0.78% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 10.8µs ± 0% 10.9µs ± 2% ~ (p=0.421 n=5+5) Middleware_control-2 3.47µs ± 0% 3.46µs ± 1% ~ (p=0.190 n=4+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.16kB ± 3% 1.15kB ± 4% ~ (p=0.690 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.32µs ± 1% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 702ns ± 0% DecoderFunc_Decode-2 2.00µs ± 2% Decoder_Decode_json-2 21.4µs ± 1% Decoder_Decode_queryObject-2 4.66µs ± 1% Decoder_Decode_jsonParam-2 1.75µs ± 0% DecoderFactory_SetDecoderFunc-2 1.63µs ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 10.9µs ± 2% Middleware_control-2 3.46µ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.15kB ± 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% ```
codecov[bot] commented 1 year ago

Codecov Report

Merging #90 (954949c) into master (ec05ae4) will not change coverage. The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #90   +/-   ##
=======================================
  Coverage   77.52%   77.52%           
=======================================
  Files          27       27           
  Lines        1428     1428           
=======================================
  Hits         1107     1107           
  Misses        206      206           
  Partials      115      115           
Flag Coverage Δ
unittests 77.52% <ø> (ø)

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

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

github-actions[bot] commented 1 year 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 29.2µs ±16% 27.9µs ± 4% ~ (p=0.222 n=5+5) _directGzipHead-2 28.6µs ± 2% 27.3µs ± 2% -4.69% (p=0.016 n=5+4) _noDirectGzip-2 159µs ± 2% 162µs ± 4% ~ (p=0.421 n=5+5) _directGzip_decode-2 508µs ± 3% 543µs ± 3% +6.91% (p=0.008 n=5+5) _noDirectGzip_decode-2 149µs ± 6% 153µs ± 2% ~ (p=0.151 n=5+5) _jsonBody-2 48.6µs ± 5% 48.8µs ± 8% ~ (p=1.000 n=5+5) _jsonBodyValidation-2 55.3µs ± 6% 55.1µs ± 3% ~ (p=1.000 n=5+5) _outputHeaders-2 26.4µs ± 4% 26.2µs ± 5% ~ (p=0.690 n=5+5) _requestResponseMapping-2 48.7µs ± 4% 47.5µs ± 4% ~ (p=0.222 n=5+5) _validation-2 53.1µs ± 4% 51.5µs ± 3% ~ (p=0.095 n=5+5) _noValidation-2 37.5µs ± 2% 37.6µs ± 3% ~ (p=1.000 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 28.5µs ±15% 28.3µs ± 1% ~ (p=0.556 n=5+4) _directGzipHead-2 28.4µs ± 3% 28.2µs ± 2% ~ (p=0.841 n=5+5) _noDirectGzip-2 157µs ± 4% 156µs ± 3% ~ (p=0.690 n=5+5) _directGzip_decode-2 527µs ± 3% 537µs ± 5% ~ (p=0.421 n=5+5) _noDirectGzip_decode-2 152µs ± 4% 155µs ± 3% ~ (p=0.151 n=5+5) _jsonBodyManual-2 31.5µs ± 5% 32.2µs ± 2% ~ (p=0.310 n=5+5) _jsonBody-2 44.6µs ± 3% 44.2µs ± 5% ~ (p=0.548 n=5+5) _jsonBodyValidation-2 57.5µs ± 5% 56.7µs ± 5% ~ (p=0.690 n=5+5) _outputHeaders-2 27.3µs ± 6% 26.5µs ± 3% ~ (p=0.310 n=5+5) _requestResponseMapping-2 50.5µs ± 2% 48.6µs ± 5% ~ (p=0.095 n=5+5) _validation-2 54.5µs ± 3% 55.6µs ± 5% ~ (p=0.690 n=5+5) _noValidation-2 42.3µs ± 2% 40.5µs ± 3% -4.24% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 30.8µs ± 4% 31.0µs ± 4% ~ (p=0.841 n=5+5) _ok-2 31.4µs ±19% 31.5µs ± 5% ~ (p=0.222 n=5+5) _invalidBody-2 42.9µs ± 4% 44.4µs ± 5% ~ (p=0.222 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 34.4k ±14% 35.9k ± 3% ~ (p=0.222 n=5+5) _directGzipHead-2 35.0k ± 2% 36.7k ± 2% +4.90% (p=0.016 n=5+4) _noDirectGzip-2 6.29k ± 2% 6.17k ± 5% ~ (p=0.421 n=5+5) _directGzip_decode-2 1.97k ± 3% 1.84k ± 3% -6.45% (p=0.008 n=5+5) _noDirectGzip_decode-2 6.70k ± 6% 6.53k ± 2% ~ (p=0.151 n=5+5) _jsonBody-2 20.6k ± 5% 20.5k ± 7% ~ (p=1.000 n=5+5) _jsonBodyValidation-2 18.1k ± 5% 18.2k ± 3% ~ (p=1.000 n=5+5) _outputHeaders-2 37.8k ± 4% 38.2k ± 5% ~ (p=0.690 n=5+5) _requestResponseMapping-2 20.5k ± 4% 21.1k ± 4% ~ (p=0.222 n=5+5) _validation-2 18.8k ± 4% 19.4k ± 3% ~ (p=0.095 n=5+5) _noValidation-2 26.7k ± 2% 26.6k ± 3% ~ (p=1.000 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 35.3k ±13% 34.2k ±13% ~ (p=0.310 n=5+5) _directGzipHead-2 35.3k ± 3% 35.4k ± 2% ~ (p=0.841 n=5+5) _noDirectGzip-2 6.36k ± 4% 6.43k ± 3% ~ (p=0.690 n=5+5) _directGzip_decode-2 1.90k ± 3% 1.86k ± 5% ~ (p=0.421 n=5+5) _noDirectGzip_decode-2 6.59k ± 4% 6.44k ± 3% ~ (p=0.151 n=5+5) _jsonBodyManual-2 31.8k ± 5% 31.1k ± 2% ~ (p=0.310 n=5+5) _jsonBody-2 22.5k ± 3% 22.6k ± 5% ~ (p=0.548 n=5+5) _jsonBodyValidation-2 17.4k ± 5% 17.6k ± 5% ~ (p=0.690 n=5+5) _outputHeaders-2 36.7k ± 6% 37.7k ± 3% ~ (p=0.310 n=5+5) _requestResponseMapping-2 19.8k ± 2% 20.6k ± 5% ~ (p=0.095 n=5+5) _validation-2 18.3k ± 3% 18.0k ± 5% ~ (p=0.690 n=5+5) _noValidation-2 23.7k ± 2% 24.7k ± 3% +4.46% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 32.5k ± 4% 32.3k ± 4% ~ (p=0.841 n=5+5) _ok-2 32.0k ±16% 31.8k ± 5% ~ (p=0.222 n=5+5) _invalidBody-2 23.3k ± 4% 22.5k ± 5% ~ (p=0.222 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.056 n=5+5) _directGzipHead-2 3.92kB ± 0% 3.92kB ± 0% ~ (p=0.563 n=5+5) _noDirectGzip-2 6.91kB ±17% 7.28kB ±21% ~ (p=1.000 n=5+5) _directGzip_decode-2 403kB ± 0% 403kB ± 0% +0.11% (p=0.008 n=5+5) _noDirectGzip_decode-2 5.32kB ± 7% 5.87kB ± 6% +10.17% (p=0.032 n=5+5) _jsonBody-2 13.2kB ± 0% 13.2kB ± 0% +0.07% (p=0.032 n=5+5) _jsonBodyValidation-2 19.0kB ± 0% 19.0kB ± 0% +0.07% (p=0.008 n=5+5) _outputHeaders-2 3.71kB ± 0% 3.71kB ± 0% +0.13% (p=0.008 n=5+5) _requestResponseMapping-2 16.7kB ± 0% 16.7kB ± 0% +0.10% (p=0.008 n=5+5) _validation-2 16.6kB ± 0% 16.6kB ± 0% +0.11% (p=0.008 n=5+5) _noValidation-2 7.88kB ± 0% 7.89kB ± 0% +0.13% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 3.97kB ± 0% 3.97kB ± 0% ~ (p=0.262 n=5+5) _directGzipHead-2 3.97kB ± 0% 3.97kB ± 0% ~ (p=0.825 n=5+5) _noDirectGzip-2 7.19kB ±22% 7.11kB ±20% ~ (p=1.000 n=5+5) _directGzip_decode-2 403kB ± 0% 403kB ± 0% +0.08% (p=0.016 n=5+5) _noDirectGzip_decode-2 5.72kB ± 6% 5.91kB ±13% ~ (p=1.000 n=5+5) _jsonBodyManual-2 4.65kB ± 0% 4.65kB ± 0% +0.10% (p=0.008 n=5+5) _jsonBody-2 10.4kB ± 0% 10.4kB ± 0% +0.11% (p=0.008 n=5+5) _jsonBodyValidation-2 19.1kB ± 0% 19.1kB ± 0% +0.07% (p=0.008 n=5+5) _outputHeaders-2 3.74kB ± 0% 3.75kB ± 0% ~ (p=0.063 n=5+5) _requestResponseMapping-2 16.8kB ± 0% 16.8kB ± 0% +0.08% (p=0.008 n=5+5) _validation-2 16.7kB ± 0% 16.7kB ± 0% +0.07% (p=0.008 n=5+5) _noValidation-2 7.95kB ± 0% 7.96kB ± 0% +0.11% (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.89kB ± 0% ~ (p=0.151 n=5+5) _ok-2 4.78kB ± 0% 4.79kB ± 0% +0.15% (p=0.029 n=4+4) _invalidBody-2 8.62kB ± 0% 8.63kB ± 0% +0.13% (p=0.029 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 50.0 ± 4% 51.0 ± 0% ~ (p=0.556 n=5+4) _directGzip_decode-2 501 ± 0% 502 ± 0% ~ (p=0.286 n=5+5) _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.8 ± 3% 51.8 ± 3% ~ (p=1.000 n=5+5) _directGzip_decode-2 503 ± 0% 504 ± 0% ~ (p=0.444 n=5+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) ```