BlogDocs

Minimum change to SubRouter so get, post etc have same signature as Robyn(#1049)

Comparing
dave42w:mypy4
(
d29ba56
) with
main
(
9a95611
)
0%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
146
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Passed

test_basic_get[/async/dict/const-async dict const get-async_const-dict]
integration_tests/test_basic_routes.py::test_basic_get[/async/dict/const-async dict const get-async_const-dict]
0%
5 ms
5 ms
test_local_index_request
integration_tests/test_base_url.py::test_local_index_request
0%
4.8 ms
4.8 ms
test_split_request_params_typed_untyped_post_combined[async]
integration_tests/test_split_request_params.py::test_split_request_params_typed_untyped_post_combined[async]
0%
5.2 ms
5.2 ms
test_valid_authentication[async]
integration_tests/test_authentication.py::test_valid_authentication[async]
0%
4.9 ms
4.9 ms
test_delete[sync]
integration_tests/test_delete_requests.py::test_delete[sync]
0%
5 ms
5 ms
test_add_subrouter_paths
integration_tests/test_openapi.py::test_add_subrouter_paths
0%
6.5 ms
6.5 ms
test_json_get[/async/json/const-expected_json3]
integration_tests/test_basic_routes.py::test_json_get[/async/json/const-expected_json3]
0%
4.9 ms
4.9 ms
test_basic_get[/async/dict-async dict get-async-dict]
integration_tests/test_basic_routes.py::test_basic_get[/async/dict-async dict get-async-dict]
0%
5 ms
5 ms
test_split_request_params_get_path_params[split_request_typed-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_path_params[split_request_typed-async]
0%
5 ms
5 ms
test_sub_router_head
integration_tests/test_subrouter.py::test_sub_router_head
0%
4.8 ms
4.8 ms
test_file_download[async]
integration_tests/test_file_download.py::test_file_download[async]
0%
4.9 ms
4.9 ms
test_param_suffix[sync]
integration_tests/test_get_requests.py::test_param_suffix[sync]
0%
9.3 ms
9.3 ms
test_split_request_params_get_combined_failure[async]
integration_tests/test_split_request_params.py::test_split_request_params_get_combined_failure[async]
0%
5.2 ms
5.1 ms
test_exception_handling[/sync/exception/put-put]
integration_tests/test_exception_handling.py::test_exception_handling[/sync/exception/put-put]
0%
5 ms
5 ms
test_basic_get[/sync/response-sync response get-sync-response]
integration_tests/test_basic_routes.py::test_basic_get[/sync/response-sync response get-sync-response]
0%
5 ms
5 ms
test_sync_500_internal_server_error[sync]
integration_tests/test_status_code.py::test_sync_500_internal_server_error[sync]
0%
4.8 ms
4.8 ms
test_binary_output[/sync/octet/response-sync octet response]
integration_tests/test_binary_output.py::test_binary_output[/sync/octet/response-sync octet response]
0%
5 ms
5 ms
test_sub_router[get]
integration_tests/test_subrouter.py::test_sub_router[get]
0%
4.9 ms
4.8 ms
test_delete_with_param[async]
integration_tests/test_delete_requests.py::test_delete_with_param[async]
0%
4.9 ms
4.9 ms
test_split_request_params_get_body[split_request_untyped-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_body[split_request_untyped-sync]
0%
5 ms
5 ms
test_split_request_params_get_path_params[split_request_typed-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_path_params[split_request_typed-sync]
0%
5 ms
5 ms
test_post_sync_decorator_view
integration_tests/test_views.py::test_post_sync_decorator_view
0%
4.9 ms
4.9 ms
test_sub_router[put]
integration_tests/test_subrouter.py::test_sub_router[put]
0%
4.9 ms
4.9 ms
test_split_request_params_get_query_params[split_request_typed-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_query_params[split_request_typed-sync]
0%
14 ms
14 ms
test_file_download[sync]
integration_tests/test_file_download.py::test_file_download[sync]
0%
4.9 ms
4.9 ms
test_add_openapi_path
integration_tests/test_openapi.py::test_add_openapi_path
0%
6.5 ms
6.5 ms
test_put_with_param[sync]
integration_tests/test_put_requests.py::test_put_with_param[sync]
0%
4.9 ms
4.9 ms
test_patch[async]
integration_tests/test_patch_requests.py::test_patch[async]
0%
5 ms
5 ms
test_put_with_param[async]
integration_tests/test_put_requests.py::test_put_with_param[async]
0%
4.9 ms
4.9 ms
test_basic_get[/async/str/const-async str const get-None-None]
integration_tests/test_basic_routes.py::test_basic_get[/async/str/const-async str const get-None-None]
0%
4.9 ms
4.9 ms
test_valid_authentication[sync]
integration_tests/test_authentication.py::test_valid_authentication[sync]
0%
4.9 ms
4.9 ms
test_binary_output[/async/octet/response-async octet response]
integration_tests/test_binary_output.py::test_binary_output[/async/octet/response-async octet response]
0%
5 ms
5 ms
test_basic_get[/sync/dict-sync dict get-sync-dict]
integration_tests/test_basic_routes.py::test_basic_get[/sync/dict-sync dict get-sync-dict]
0%
5 ms
5 ms
test_split_request_params_get_query_params[split_request_typed-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_query_params[split_request_typed-async]
0%
14 ms
14 ms
test_exception_handling[/sync/post/no_dec-post]
integration_tests/test_add_route_without_decorator.py::test_exception_handling[/sync/post/no_dec-post]
0%
4.9 ms
4.9 ms
test_sub_router[delete]
integration_tests/test_subrouter.py::test_sub_router[delete]
0%
4.9 ms
4.9 ms
test_404_status_code
integration_tests/test_status_code.py::test_404_status_code
0%
4.8 ms
4.8 ms
test_basic_get[/sync/response/const-sync response const get-sync_const-response]
integration_tests/test_basic_routes.py::test_basic_get[/sync/response/const-sync response const get-sync_const-response]
0%
5 ms
5 ms
test_custom_openapi_spec
integration_tests/test_openapi.py::test_custom_openapi_spec
0%
467.5 µs
467.4 µs
test_get_async_decorator_view
integration_tests/test_views.py::test_get_async_decorator_view
0%
4.9 ms
4.9 ms
test_exception_handling[/async/post/no_dec-post]
integration_tests/test_add_route_without_decorator.py::test_exception_handling[/async/post/no_dec-post]
0%
4.9 ms
4.9 ms
test_basic_get[/async/response/const-async response const get-async_const-response]
integration_tests/test_basic_routes.py::test_basic_get[/async/response/const-async response const get-async_const-response]
0%
5 ms
5 ms
test_split_request_params_typed_untyped_post_combined[sync]
integration_tests/test_split_request_params.py::test_split_request_params_typed_untyped_post_combined[sync]
0%
5.2 ms
5.2 ms
test_patch[sync]
integration_tests/test_patch_requests.py::test_patch[sync]
0%
5 ms
5 ms
test_split_request_params_get_headers[split_request_typed-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_headers[split_request_typed-async]
0%
4.9 ms
4.9 ms
test_split_request_params_get_combined[split_request_untyped-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_combined[split_request_untyped-sync]
0%
5.2 ms
5.2 ms
test_post_async_decorator_view
integration_tests/test_views.py::test_post_async_decorator_view
0%
4.9 ms
4.9 ms
test_split_request_params_get_combined_failure[sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_combined_failure[sync]
0%
5.1 ms
5.1 ms
test_split_request_params_get_method[split_request_typed-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_method[split_request_typed-async]
0%
4.9 ms
4.9 ms
test_basic_get[/sync/dict/const-sync dict const get-sync_const-dict]
integration_tests/test_basic_routes.py::test_basic_get[/sync/dict/const-sync dict const get-sync_const-dict]
0%
5 ms
5 ms
test_split_request_params_get_headers[split_request_typed-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_headers[split_request_typed-sync]
0%
4.9 ms
4.9 ms
test_basic_get[/sync/str-sync str get-None-None]
integration_tests/test_basic_routes.py::test_basic_get[/sync/str-sync str get-None-None]
0%
4.9 ms
4.9 ms
test_split_request_params_get_combined[split_request_typed-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_combined[split_request_typed-sync]
0%
5.2 ms
5.2 ms
test_invalid_authentication_header[async]
integration_tests/test_authentication.py::test_invalid_authentication_header[async]
0%
4.8 ms
4.8 ms
test_exception_handling[/async/exception/post-post]
integration_tests/test_exception_handling.py::test_exception_handling[/async/exception/post-post]
0%
5 ms
5 ms
test_exception_handling[/sync/exception/post-post]
integration_tests/test_exception_handling.py::test_exception_handling[/sync/exception/post-post]
0%
5 ms
5 ms
test_post_async_view
integration_tests/test_views.py::test_post_async_view
0%
4.9 ms
4.9 ms
test_param[async]
integration_tests/test_get_requests.py::test_param[async]
0%
9.2 ms
9.2 ms
test_json_handler
integration_tests/test_openapi.py::test_json_handler
0%
6.5 ms
6.5 ms
test_split_request_params_get_path_params[split_request_untyped-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_path_params[split_request_untyped-sync]
0%
5 ms
5 ms
test_default_url_index_request
integration_tests/test_base_url.py::test_default_url_index_request
0%
4.8 ms
4.8 ms
test_param[sync]
integration_tests/test_get_requests.py::test_param[sync]
0%
9.2 ms
9.2 ms
test_sub_router[options]
integration_tests/test_subrouter.py::test_sub_router[options]
0%
4.9 ms
4.9 ms
test_middlewares[async]
integration_tests/test_middlewares.py::test_middlewares[async]
0%
4.9 ms
4.9 ms
test_post[async]
integration_tests/test_post_requests.py::test_post[async]
0%
5 ms
5 ms
test_invalid_authentication_token[async]
integration_tests/test_authentication.py::test_invalid_authentication_token[async]
0%
4.8 ms
4.8 ms
test_post_with_param[sync]
integration_tests/test_post_requests.py::test_post_with_param[sync]
0%
4.9 ms
4.9 ms
test_exception_handling[/sync/put/no_dec-put]
integration_tests/test_add_route_without_decorator.py::test_exception_handling[/sync/put/no_dec-put]
0%
4.9 ms
4.9 ms
test_serve_html[async]
integration_tests/test_get_requests.py::test_serve_html[async]
0%
4.9 ms
4.9 ms
test_param_suffix[async]
integration_tests/test_get_requests.py::test_param_suffix[async]
0%
9.3 ms
9.3 ms
test_sub_router[trace]
integration_tests/test_subrouter.py::test_sub_router[trace]
0%
4.9 ms
4.9 ms
test_put[sync]
integration_tests/test_put_requests.py::test_put[sync]
0%
4.9 ms
5 ms
test_split_request_params_get_method[split_request_untyped-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_method[split_request_untyped-async]
0%
4.9 ms
4.9 ms
test_split_request_params_get_combined[split_request_untyped-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_combined[split_request_untyped-async]
0%
5.2 ms
5.2 ms
test_basic_get[/sync/str/const-sync str const get-None-None]
integration_tests/test_basic_routes.py::test_basic_get[/sync/str/const-sync str const get-None-None]
0%
4.9 ms
4.9 ms
test_get_sync_decorator_view
integration_tests/test_views.py::test_get_sync_decorator_view
0%
4.9 ms
4.9 ms
test_basic_get[/async/str-async str get-None-None]
integration_tests/test_basic_routes.py::test_basic_get[/async/str-async str get-None-None]
0%
4.9 ms
4.9 ms
test_sync_500_internal_server_error[async]
integration_tests/test_status_code.py::test_sync_500_internal_server_error[async]
0%
4.8 ms
4.8 ms
test_split_request_params_get_path_params[split_request_untyped-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_path_params[split_request_untyped-async]
0%
5 ms
5 ms
test_split_request_params_get_body[split_request_typed-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_body[split_request_typed-async]
0%
5 ms
5 ms
test_exception_handling[/sync/exception/get-get]
integration_tests/test_exception_handling.py::test_exception_handling[/sync/exception/get-get]
0%
5 ms
5 ms
test_exception_handling[/async/get/no_dec-get]
integration_tests/test_add_route_without_decorator.py::test_exception_handling[/async/get/no_dec-get]
0%
4.9 ms
4.9 ms
test_multipart_file[sync]
integration_tests/test_multipart_data.py::test_multipart_file[sync]
0%
5.1 ms
5.1 ms
test_env_population
integration_tests/test_env_populator.py::test_env_population
0%
319.3 µs
319.6 µs
test_delete_with_param[sync]
integration_tests/test_delete_requests.py::test_delete_with_param[sync]
0%
4.9 ms
4.9 ms
test_post[sync]
integration_tests/test_post_requests.py::test_post[sync]
0%
4.9 ms
5 ms
test_binary_output[/sync/octet-sync octet]
integration_tests/test_binary_output.py::test_binary_output[/sync/octet-sync octet]
0%
5 ms
5 ms
test_serve_html[sync]
integration_tests/test_get_requests.py::test_serve_html[sync]
0%
4.9 ms
4.9 ms
test_sub_router[post]
integration_tests/test_subrouter.py::test_sub_router[post]
0%
4.9 ms
4.9 ms
test_web_socket_raw_benchmark
integration_tests/test_web_sockets.py::test_web_socket_raw_benchmark
0%
1.6 ms
1.6 ms
test_lifecycle_handlers
integration_tests/test_app.py::test_lifecycle_handlers
0%
371.9 µs
372.3 µs
test_basic_get[/async/response-async response get-async-response]
integration_tests/test_basic_routes.py::test_basic_get[/async/response-async response get-async-response]
0%
5 ms
5 ms
test_get_async_view
integration_tests/test_views.py::test_get_async_view
0%
4.8 ms
4.8 ms
test_post_sync_view
integration_tests/test_views.py::test_post_sync_view
0%
4.9 ms
4.9 ms
test_sub_router[patch]
integration_tests/test_subrouter.py::test_sub_router[patch]
0%
4.9 ms
4.9 ms
test_invalid_authentication_no_token[async]
integration_tests/test_authentication.py::test_invalid_authentication_no_token[async]
0%
4.8 ms
4.8 ms
test_global_middleware
integration_tests/test_middlewares.py::test_global_middleware
0%
4.9 ms
4.9 ms
test_split_request_params_get_query_params[split_request_untyped-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_query_params[split_request_untyped-async]
0%
14 ms
14 ms
test_patch_with_param[async]
integration_tests/test_patch_requests.py::test_patch_with_param[async]
0%
4.9 ms
4.9 ms
test_split_request_params_get_body[split_request_typed-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_body[split_request_typed-sync]
0%
5 ms
5 ms
test_404_not_found
integration_tests/test_status_code.py::test_404_not_found
0%
4.9 ms
4.9 ms
test_http_request_info_get[/sync/http/param-expected_json0]
integration_tests/test_basic_routes.py::test_http_request_info_get[/sync/http/param-expected_json0]
0%
4.9 ms
5 ms
test_binary_output[/async/octet-async octet]
integration_tests/test_binary_output.py::test_binary_output[/async/octet-async octet]
0%
5 ms
5 ms
test_queries[sync]
integration_tests/test_get_requests.py::test_queries[sync]
0%
9.3 ms
9.3 ms
test_split_request_params_get_body[split_request_untyped-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_body[split_request_untyped-async]
0%
5 ms
5 ms
test_put[async]
integration_tests/test_put_requests.py::test_put[async]
0%
5 ms
5 ms
test_middlewares[sync]
integration_tests/test_middlewares.py::test_middlewares[sync]
0%
4.9 ms
4.9 ms
test_split_request_params_get_headers[split_request_untyped-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_headers[split_request_untyped-sync]
0%
4.9 ms
4.9 ms
test_template[sync]
integration_tests/test_get_requests.py::test_template[sync]
0%
4.9 ms
4.9 ms
test_openapi_request_body
integration_tests/test_openapi.py::test_openapi_request_body
0%
6.5 ms
6.5 ms
test_response_in_before_middleware
integration_tests/test_middlewares.py::test_response_in_before_middleware
0%
4.8 ms
4.8 ms
test_post_with_param[async]
integration_tests/test_post_requests.py::test_post_with_param[async]
0%
4.9 ms
4.9 ms
test_202_status_code
integration_tests/test_status_code.py::test_202_status_code
0%
4.8 ms
4.8 ms
test_json_get[/sync/json-expected_json0]
integration_tests/test_basic_routes.py::test_json_get[/sync/json-expected_json0]
0%
4.9 ms
4.9 ms
test_exception_handling[/async/exception/put-put]
integration_tests/test_exception_handling.py::test_exception_handling[/async/exception/put-put]
0%
5 ms
5 ms
test_invalid_authentication_token[sync]
integration_tests/test_authentication.py::test_invalid_authentication_token[sync]
0%
4.8 ms
4.8 ms
test_json_get[/async/json-expected_json1]
integration_tests/test_basic_routes.py::test_json_get[/async/json-expected_json1]
0%
4.9 ms
4.9 ms
test_split_request_params_get_headers[split_request_untyped-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_headers[split_request_untyped-async]
0%
4.9 ms
4.9 ms
test_invalid_authentication_header[sync]
integration_tests/test_authentication.py::test_invalid_authentication_header[sync]
0%
4.8 ms
4.8 ms
test_invalid_authentication_no_token[sync]
integration_tests/test_authentication.py::test_invalid_authentication_no_token[sync]
0%
4.8 ms
4.8 ms
test_split_request_params_get_method[split_request_typed-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_method[split_request_typed-sync]
0%
4.9 ms
4.9 ms
test_split_request_params_get_combined[split_request_typed-async]
integration_tests/test_split_request_params.py::test_split_request_params_get_combined[split_request_typed-async]
0%
5.1 ms
5.2 ms
test_http_request_info_get[/async/http/param-expected_json1]
integration_tests/test_basic_routes.py::test_http_request_info_get[/async/http/param-expected_json1]
0%
5 ms
5 ms
test_delete[async]
integration_tests/test_delete_requests.py::test_delete[async]
0%
5 ms
5 ms
test_patch_with_param[sync]
integration_tests/test_patch_requests.py::test_patch_with_param[sync]
0%
4.9 ms
4.9 ms
test_trailing_slash
integration_tests/test_get_requests.py::test_trailing_slash
0%
9 ms
9.1 ms
test_form_data[sync]
integration_tests/test_multipart_data.py::test_form_data[sync]
0%
5.1 ms
5.1 ms
test_split_request_params_get_method[split_request_untyped-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_method[split_request_untyped-sync]
0%
4.9 ms
4.9 ms
test_exception_handling[/async/exception/get-get]
integration_tests/test_exception_handling.py::test_exception_handling[/async/exception/get-get]
0%
5 ms
5 ms
test_queries[async]
integration_tests/test_get_requests.py::test_queries[async]
0%
9.3 ms
9.3 ms
test_add_request_header
integration_tests/test_app.py::test_add_request_header
0%
339.6 µs
340.4 µs
test_get_sync_view
integration_tests/test_views.py::test_get_sync_view
0%
4.8 ms
4.8 ms
test_openapi_response_body
integration_tests/test_openapi.py::test_openapi_response_body
0%
6.5 ms
6.5 ms
test_cookies[fakesession-fake-cookie-session-value]
integration_tests/test_get_requests.py::test_cookies[fakesession-fake-cookie-session-value]
0%
4.8 ms
4.8 ms
test_global_index_request
integration_tests/test_base_url.py::test_global_index_request
0%
4.8 ms
4.8 ms
test_template[async]
integration_tests/test_get_requests.py::test_template[async]
0%
4.9 ms
4.9 ms
test_docs_handler
integration_tests/test_openapi.py::test_docs_handler
0%
4.7 ms
4.7 ms
test_openapi_query_params
integration_tests/test_openapi.py::test_openapi_query_params
0%
6.5 ms
6.5 ms
test_add_response_header
integration_tests/test_app.py::test_add_response_header
0%
339.7 µs
340.8 µs
test_split_request_params_get_query_params[split_request_untyped-sync]
integration_tests/test_split_request_params.py::test_split_request_params_get_query_params[split_request_untyped-sync]
0%
14 ms
14.1 ms
test_json_get[/sync/json/const-expected_json2]
integration_tests/test_basic_routes.py::test_json_get[/sync/json/const-expected_json2]
0%
4.9 ms
4.9 ms
test_exception_handling[/async/put/no_dec-put]
integration_tests/test_add_route_without_decorator.py::test_exception_handling[/async/put/no_dec-put]
0%
4.9 ms
4.9 ms
test_dev_index_request
integration_tests/test_base_url.py::test_dev_index_request
0%
4.8 ms
4.8 ms
test_sub_router_web_socket
integration_tests/test_subrouter.py::test_sub_router_web_socket
0%
1.1 ms
1.1 ms
test_allow_cors
integration_tests/test_app.py::test_allow_cors
0%
452 µs
454.1 µs
test_exception_handling[/sync/get/no_dec-get]
integration_tests/test_add_route_without_decorator.py::test_exception_handling[/sync/get/no_dec-get]
-1%
4.9 ms
5 ms

Commits

Click on a commit to change the comparison range
base
main
9a95611
0%
Minimum change to SubRouter so get, post etc have same signature as Robyn. No -ve impact as key arg auto required defaults to false
d29ba56
4 hours ago
by dave42w
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.