├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ └── question.md └── workflows │ ├── bench-examples.yml │ ├── bench.yml │ ├── cloc.yml │ ├── golangci-lint.yml │ ├── gorelease.yml │ ├── test-examples.yml │ └── test-unit.yml ├── .gitignore ├── .golangci.yml ├── ADVANCED.md ├── LICENSE ├── Makefile ├── README.md ├── UPGRADE.md ├── _examples ├── .gitignore ├── .golangci.yml ├── Makefile ├── advanced-generic-openapi31 │ ├── _testdata │ │ └── openapi.json │ ├── dummy.go │ ├── error_response.go │ ├── file_multi_upload.go │ ├── file_upload.go │ ├── form.go │ ├── form_or_json.go │ ├── form_or_json_test.go │ ├── gzip_pass_through.go │ ├── gzip_pass_through_test.go │ ├── html_response.go │ ├── html_response_test.go │ ├── json_body.go │ ├── json_body_manual.go │ ├── json_body_manual_test.go │ ├── json_body_test.go │ ├── json_body_validation.go │ ├── json_body_validation_test.go │ ├── json_map_body.go │ ├── json_param.go │ ├── json_slice_body.go │ ├── main.go │ ├── no_validation.go │ ├── output_headers.go │ ├── output_headers_test.go │ ├── output_writer.go │ ├── query_object.go │ ├── query_object_test.go │ ├── raw_body.go │ ├── request_response_mapping.go │ ├── request_response_mapping_test.go │ ├── request_text_body.go │ ├── router.go │ ├── router_test.go │ ├── validation.go │ └── validation_test.go ├── advanced │ ├── _testdata │ │ └── openapi.json │ ├── dummy.go │ ├── dynamic_schema.go │ ├── dynamic_schema_test.go │ ├── error_response.go │ ├── file_multi_upload.go │ ├── file_upload.go │ ├── gzip_pass_through.go │ ├── gzip_pass_through_test.go │ ├── json_body.go │ ├── json_body_test.go │ ├── json_body_validation.go │ ├── json_body_validation_test.go │ ├── json_map_body.go │ ├── json_param.go │ ├── json_slice_body.go │ ├── main.go │ ├── no_validation.go │ ├── output_headers.go │ ├── output_headers_test.go │ ├── output_writer.go │ ├── query_object.go │ ├── request_response_mapping.go │ ├── request_response_mapping_test.go │ ├── router.go │ ├── router_test.go │ ├── validation.go │ └── validation_test.go ├── basic │ ├── README.md │ ├── main.go │ └── screen.png ├── generic │ └── main.go ├── gingonic │ └── main.go ├── go.mod ├── go.sum ├── jwtauth │ └── main.go ├── mount │ ├── main.go │ └── main_test.go ├── multi-api │ └── main.go ├── task-api │ ├── .golangci.yml │ ├── Makefile │ ├── dev_test.go │ ├── internal │ │ ├── domain │ │ │ ├── doc.go │ │ │ └── task │ │ │ │ ├── entity.go │ │ │ │ └── service.go │ │ ├── infra │ │ │ ├── doc.go │ │ │ ├── init.go │ │ │ ├── log │ │ │ │ └── usecase.go │ │ │ ├── nethttp │ │ │ │ ├── benchmark_test.go │ │ │ │ ├── doc.go │ │ │ │ ├── integration_test.go │ │ │ │ └── router.go │ │ │ ├── repository │ │ │ │ └── task.go │ │ │ ├── schema │ │ │ │ └── openapi.go │ │ │ └── service │ │ │ │ ├── config.go │ │ │ │ ├── doc.go │ │ │ │ ├── locator.go │ │ │ │ └── provider.go │ │ └── usecase │ │ │ ├── create_task.go │ │ │ ├── doc.go │ │ │ ├── find_task.go │ │ │ ├── find_tasks.go │ │ │ ├── finish_task.go │ │ │ └── update_task.go │ ├── main.go │ └── pkg │ │ └── graceful │ │ ├── doc.go │ │ ├── http.go │ │ └── shutdown.go └── tools_test.go ├── chirouter ├── doc.go ├── example_test.go ├── path_decoder.go ├── wrapper.go └── wrapper_test.go ├── dev_test.go ├── doc.go ├── error.go ├── error_test.go ├── go.mod ├── go.sum ├── gorillamux ├── collector.go ├── collector_test.go ├── doc.go ├── example_openapi_collector_test.go ├── example_test.go └── path_decoder.go ├── gzip ├── container.go ├── container_test.go └── doc.go ├── jsonschema ├── validator.go └── validator_test.go ├── nethttp ├── doc.go ├── example_test.go ├── handler.go ├── handler_test.go ├── openapi.go ├── openapi_test.go ├── options.go ├── options_test.go ├── usecase.go ├── wrap.go ├── wrap_test.go ├── wrapper.go └── wrapper_test.go ├── openapi ├── collector.go └── collector_test.go ├── request.go ├── request ├── decoder.go ├── decoder_test.go ├── doc.go ├── error.go ├── example_test.go ├── factory.go ├── factory_test.go ├── file.go ├── file_test.go ├── jsonbody.go ├── jsonbody_test.go ├── middleware.go └── reflect.go ├── request_test.go ├── response.go ├── response ├── doc.go ├── encoder.go ├── encoder_test.go ├── gzip │ ├── doc.go │ ├── middleware.go │ └── middleware_test.go ├── middleware.go ├── middleware_test.go ├── validator.go └── validator_test.go ├── resttest ├── client.go ├── client_test.go ├── doc.go ├── example_test.go ├── server.go └── server_test.go ├── route.go ├── trait.go ├── trait_test.go ├── validator.go └── web ├── _testdata └── openapi.json ├── example_test.go ├── service.go └── service_test.go /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/ISSUE_TEMPLATE/question.md -------------------------------------------------------------------------------- /.github/workflows/bench-examples.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/workflows/bench-examples.yml -------------------------------------------------------------------------------- /.github/workflows/bench.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/workflows/bench.yml -------------------------------------------------------------------------------- /.github/workflows/cloc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/workflows/cloc.yml -------------------------------------------------------------------------------- /.github/workflows/golangci-lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/workflows/golangci-lint.yml -------------------------------------------------------------------------------- /.github/workflows/gorelease.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/workflows/gorelease.yml -------------------------------------------------------------------------------- /.github/workflows/test-examples.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/workflows/test-examples.yml -------------------------------------------------------------------------------- /.github/workflows/test-unit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.github/workflows/test-unit.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /*.coverprofile 3 | /.vscode 4 | /bench-*.txt 5 | /vendor 6 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/.golangci.yml -------------------------------------------------------------------------------- /ADVANCED.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/ADVANCED.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/README.md -------------------------------------------------------------------------------- /UPGRADE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/UPGRADE.md -------------------------------------------------------------------------------- /_examples/.gitignore: -------------------------------------------------------------------------------- 1 | *_last_run.json 2 | -------------------------------------------------------------------------------- /_examples/.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/.golangci.yml -------------------------------------------------------------------------------- /_examples/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/Makefile -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/_testdata/openapi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/_testdata/openapi.json -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/dummy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/dummy.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/error_response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/error_response.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/file_multi_upload.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/file_multi_upload.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/file_upload.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/file_upload.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/form.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/form.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/form_or_json.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/form_or_json.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/form_or_json_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/form_or_json_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/gzip_pass_through.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/gzip_pass_through.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/gzip_pass_through_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/gzip_pass_through_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/html_response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/html_response.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/html_response_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/html_response_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/json_body.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/json_body.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/json_body_manual.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/json_body_manual.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/json_body_manual_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/json_body_manual_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/json_body_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/json_body_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/json_body_validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/json_body_validation.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/json_body_validation_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/json_body_validation_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/json_map_body.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/json_map_body.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/json_param.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/json_param.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/json_slice_body.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/json_slice_body.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/main.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/no_validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/no_validation.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/output_headers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/output_headers.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/output_headers_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/output_headers_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/output_writer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/output_writer.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/query_object.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/query_object.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/query_object_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/query_object_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/raw_body.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/raw_body.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/request_response_mapping.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/request_response_mapping.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/request_response_mapping_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/request_response_mapping_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/request_text_body.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/request_text_body.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/router.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/router_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/router_test.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/validation.go -------------------------------------------------------------------------------- /_examples/advanced-generic-openapi31/validation_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced-generic-openapi31/validation_test.go -------------------------------------------------------------------------------- /_examples/advanced/_testdata/openapi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/_testdata/openapi.json -------------------------------------------------------------------------------- /_examples/advanced/dummy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/dummy.go -------------------------------------------------------------------------------- /_examples/advanced/dynamic_schema.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/dynamic_schema.go -------------------------------------------------------------------------------- /_examples/advanced/dynamic_schema_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/dynamic_schema_test.go -------------------------------------------------------------------------------- /_examples/advanced/error_response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/error_response.go -------------------------------------------------------------------------------- /_examples/advanced/file_multi_upload.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/file_multi_upload.go -------------------------------------------------------------------------------- /_examples/advanced/file_upload.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/file_upload.go -------------------------------------------------------------------------------- /_examples/advanced/gzip_pass_through.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/gzip_pass_through.go -------------------------------------------------------------------------------- /_examples/advanced/gzip_pass_through_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/gzip_pass_through_test.go -------------------------------------------------------------------------------- /_examples/advanced/json_body.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/json_body.go -------------------------------------------------------------------------------- /_examples/advanced/json_body_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/json_body_test.go -------------------------------------------------------------------------------- /_examples/advanced/json_body_validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/json_body_validation.go -------------------------------------------------------------------------------- /_examples/advanced/json_body_validation_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/json_body_validation_test.go -------------------------------------------------------------------------------- /_examples/advanced/json_map_body.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/json_map_body.go -------------------------------------------------------------------------------- /_examples/advanced/json_param.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/json_param.go -------------------------------------------------------------------------------- /_examples/advanced/json_slice_body.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/json_slice_body.go -------------------------------------------------------------------------------- /_examples/advanced/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/main.go -------------------------------------------------------------------------------- /_examples/advanced/no_validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/no_validation.go -------------------------------------------------------------------------------- /_examples/advanced/output_headers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/output_headers.go -------------------------------------------------------------------------------- /_examples/advanced/output_headers_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/output_headers_test.go -------------------------------------------------------------------------------- /_examples/advanced/output_writer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/output_writer.go -------------------------------------------------------------------------------- /_examples/advanced/query_object.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/query_object.go -------------------------------------------------------------------------------- /_examples/advanced/request_response_mapping.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/request_response_mapping.go -------------------------------------------------------------------------------- /_examples/advanced/request_response_mapping_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/request_response_mapping_test.go -------------------------------------------------------------------------------- /_examples/advanced/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/router.go -------------------------------------------------------------------------------- /_examples/advanced/router_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/router_test.go -------------------------------------------------------------------------------- /_examples/advanced/validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/validation.go -------------------------------------------------------------------------------- /_examples/advanced/validation_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/advanced/validation_test.go -------------------------------------------------------------------------------- /_examples/basic/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/basic/README.md -------------------------------------------------------------------------------- /_examples/basic/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/basic/main.go -------------------------------------------------------------------------------- /_examples/basic/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/basic/screen.png -------------------------------------------------------------------------------- /_examples/generic/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/generic/main.go -------------------------------------------------------------------------------- /_examples/gingonic/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/gingonic/main.go -------------------------------------------------------------------------------- /_examples/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/go.mod -------------------------------------------------------------------------------- /_examples/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/go.sum -------------------------------------------------------------------------------- /_examples/jwtauth/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/jwtauth/main.go -------------------------------------------------------------------------------- /_examples/mount/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/mount/main.go -------------------------------------------------------------------------------- /_examples/mount/main_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/mount/main_test.go -------------------------------------------------------------------------------- /_examples/multi-api/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/multi-api/main.go -------------------------------------------------------------------------------- /_examples/task-api/.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/.golangci.yml -------------------------------------------------------------------------------- /_examples/task-api/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/Makefile -------------------------------------------------------------------------------- /_examples/task-api/dev_test.go: -------------------------------------------------------------------------------- 1 | package main_test 2 | 3 | import _ "github.com/bool64/dev" 4 | -------------------------------------------------------------------------------- /_examples/task-api/internal/domain/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/domain/doc.go -------------------------------------------------------------------------------- /_examples/task-api/internal/domain/task/entity.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/domain/task/entity.go -------------------------------------------------------------------------------- /_examples/task-api/internal/domain/task/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/domain/task/service.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/doc.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/init.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/init.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/log/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/log/usecase.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/nethttp/benchmark_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/nethttp/benchmark_test.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/nethttp/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/nethttp/doc.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/nethttp/integration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/nethttp/integration_test.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/nethttp/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/nethttp/router.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/repository/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/repository/task.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/schema/openapi.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/schema/openapi.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/service/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/service/config.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/service/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/service/doc.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/service/locator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/service/locator.go -------------------------------------------------------------------------------- /_examples/task-api/internal/infra/service/provider.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/infra/service/provider.go -------------------------------------------------------------------------------- /_examples/task-api/internal/usecase/create_task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/usecase/create_task.go -------------------------------------------------------------------------------- /_examples/task-api/internal/usecase/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/usecase/doc.go -------------------------------------------------------------------------------- /_examples/task-api/internal/usecase/find_task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/usecase/find_task.go -------------------------------------------------------------------------------- /_examples/task-api/internal/usecase/find_tasks.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/usecase/find_tasks.go -------------------------------------------------------------------------------- /_examples/task-api/internal/usecase/finish_task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/usecase/finish_task.go -------------------------------------------------------------------------------- /_examples/task-api/internal/usecase/update_task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/internal/usecase/update_task.go -------------------------------------------------------------------------------- /_examples/task-api/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/main.go -------------------------------------------------------------------------------- /_examples/task-api/pkg/graceful/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/pkg/graceful/doc.go -------------------------------------------------------------------------------- /_examples/task-api/pkg/graceful/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/pkg/graceful/http.go -------------------------------------------------------------------------------- /_examples/task-api/pkg/graceful/shutdown.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/_examples/task-api/pkg/graceful/shutdown.go -------------------------------------------------------------------------------- /_examples/tools_test.go: -------------------------------------------------------------------------------- 1 | package examples_test 2 | 3 | import _ "github.com/bool64/dev" 4 | -------------------------------------------------------------------------------- /chirouter/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/chirouter/doc.go -------------------------------------------------------------------------------- /chirouter/example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/chirouter/example_test.go -------------------------------------------------------------------------------- /chirouter/path_decoder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/chirouter/path_decoder.go -------------------------------------------------------------------------------- /chirouter/wrapper.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/chirouter/wrapper.go -------------------------------------------------------------------------------- /chirouter/wrapper_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/chirouter/wrapper_test.go -------------------------------------------------------------------------------- /dev_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/dev_test.go -------------------------------------------------------------------------------- /doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/doc.go -------------------------------------------------------------------------------- /error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/error.go -------------------------------------------------------------------------------- /error_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/error_test.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/go.sum -------------------------------------------------------------------------------- /gorillamux/collector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/gorillamux/collector.go -------------------------------------------------------------------------------- /gorillamux/collector_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/gorillamux/collector_test.go -------------------------------------------------------------------------------- /gorillamux/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/gorillamux/doc.go -------------------------------------------------------------------------------- /gorillamux/example_openapi_collector_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/gorillamux/example_openapi_collector_test.go -------------------------------------------------------------------------------- /gorillamux/example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/gorillamux/example_test.go -------------------------------------------------------------------------------- /gorillamux/path_decoder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/gorillamux/path_decoder.go -------------------------------------------------------------------------------- /gzip/container.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/gzip/container.go -------------------------------------------------------------------------------- /gzip/container_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/gzip/container_test.go -------------------------------------------------------------------------------- /gzip/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/gzip/doc.go -------------------------------------------------------------------------------- /jsonschema/validator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/jsonschema/validator.go -------------------------------------------------------------------------------- /jsonschema/validator_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/jsonschema/validator_test.go -------------------------------------------------------------------------------- /nethttp/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/doc.go -------------------------------------------------------------------------------- /nethttp/example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/example_test.go -------------------------------------------------------------------------------- /nethttp/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/handler.go -------------------------------------------------------------------------------- /nethttp/handler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/handler_test.go -------------------------------------------------------------------------------- /nethttp/openapi.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/openapi.go -------------------------------------------------------------------------------- /nethttp/openapi_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/openapi_test.go -------------------------------------------------------------------------------- /nethttp/options.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/options.go -------------------------------------------------------------------------------- /nethttp/options_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/options_test.go -------------------------------------------------------------------------------- /nethttp/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/usecase.go -------------------------------------------------------------------------------- /nethttp/wrap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/wrap.go -------------------------------------------------------------------------------- /nethttp/wrap_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/wrap_test.go -------------------------------------------------------------------------------- /nethttp/wrapper.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/wrapper.go -------------------------------------------------------------------------------- /nethttp/wrapper_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/nethttp/wrapper_test.go -------------------------------------------------------------------------------- /openapi/collector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/openapi/collector.go -------------------------------------------------------------------------------- /openapi/collector_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/openapi/collector_test.go -------------------------------------------------------------------------------- /request.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request.go -------------------------------------------------------------------------------- /request/decoder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/decoder.go -------------------------------------------------------------------------------- /request/decoder_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/decoder_test.go -------------------------------------------------------------------------------- /request/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/doc.go -------------------------------------------------------------------------------- /request/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/error.go -------------------------------------------------------------------------------- /request/example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/example_test.go -------------------------------------------------------------------------------- /request/factory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/factory.go -------------------------------------------------------------------------------- /request/factory_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/factory_test.go -------------------------------------------------------------------------------- /request/file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/file.go -------------------------------------------------------------------------------- /request/file_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/file_test.go -------------------------------------------------------------------------------- /request/jsonbody.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/jsonbody.go -------------------------------------------------------------------------------- /request/jsonbody_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/jsonbody_test.go -------------------------------------------------------------------------------- /request/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/middleware.go -------------------------------------------------------------------------------- /request/reflect.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request/reflect.go -------------------------------------------------------------------------------- /request_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/request_test.go -------------------------------------------------------------------------------- /response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response.go -------------------------------------------------------------------------------- /response/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/doc.go -------------------------------------------------------------------------------- /response/encoder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/encoder.go -------------------------------------------------------------------------------- /response/encoder_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/encoder_test.go -------------------------------------------------------------------------------- /response/gzip/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/gzip/doc.go -------------------------------------------------------------------------------- /response/gzip/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/gzip/middleware.go -------------------------------------------------------------------------------- /response/gzip/middleware_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/gzip/middleware_test.go -------------------------------------------------------------------------------- /response/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/middleware.go -------------------------------------------------------------------------------- /response/middleware_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/middleware_test.go -------------------------------------------------------------------------------- /response/validator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/validator.go -------------------------------------------------------------------------------- /response/validator_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/response/validator_test.go -------------------------------------------------------------------------------- /resttest/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/resttest/client.go -------------------------------------------------------------------------------- /resttest/client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/resttest/client_test.go -------------------------------------------------------------------------------- /resttest/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/resttest/doc.go -------------------------------------------------------------------------------- /resttest/example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/resttest/example_test.go -------------------------------------------------------------------------------- /resttest/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/resttest/server.go -------------------------------------------------------------------------------- /resttest/server_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/resttest/server_test.go -------------------------------------------------------------------------------- /route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/route.go -------------------------------------------------------------------------------- /trait.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/trait.go -------------------------------------------------------------------------------- /trait_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/trait_test.go -------------------------------------------------------------------------------- /validator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/validator.go -------------------------------------------------------------------------------- /web/_testdata/openapi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/web/_testdata/openapi.json -------------------------------------------------------------------------------- /web/example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/web/example_test.go -------------------------------------------------------------------------------- /web/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/web/service.go -------------------------------------------------------------------------------- /web/service_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swaggest/rest/HEAD/web/service_test.go --------------------------------------------------------------------------------