diff --git a/packages/abstractions/kiota_abstractions/method.py b/packages/abstractions/kiota_abstractions/method.py index 461c8567..a1d3500c 100644 --- a/packages/abstractions/kiota_abstractions/method.py +++ b/packages/abstractions/kiota_abstractions/method.py @@ -21,3 +21,5 @@ class Method(Enum): HEAD = "HEAD" # The HTTP PUT method PUT = "PUT" + # The HTTP QUERY method + QUERY = "QUERY" diff --git a/packages/http/httpx/kiota_http/middleware/retry_handler.py b/packages/http/httpx/kiota_http/middleware/retry_handler.py index 37ef9b12..87dc1840 100644 --- a/packages/http/httpx/kiota_http/middleware/retry_handler.py +++ b/packages/http/httpx/kiota_http/middleware/retry_handler.py @@ -39,7 +39,7 @@ class RetryHandler(BaseMiddleware): DEFAULT_RETRY_STATUS_CODES: set[int] = {429, 503, 504} DEFAULT_ALLOWED_METHODS: frozenset[str] = frozenset( - ['HEAD', 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'] + ['HEAD', 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS', 'QUERY'] ) def __init__(self, options: RetryHandlerOption = RetryHandlerOption()) -> None: diff --git a/packages/http/httpx/tests/middleware_tests/test_retry_handler.py b/packages/http/httpx/tests/middleware_tests/test_retry_handler.py index e45a12b1..78bf92ee 100644 --- a/packages/http/httpx/tests/middleware_tests/test_retry_handler.py +++ b/packages/http/httpx/tests/middleware_tests/test_retry_handler.py @@ -24,7 +24,7 @@ def test_no_config(): assert retry_handler.options.max_retry == options.max_retry assert retry_handler.options.max_delay == options.max_delay assert retry_handler.allowed_methods == frozenset( - ['HEAD', 'GET', 'PUT', 'POST', 'PATCH', 'DELETE', 'OPTIONS'] + ['HEAD', 'GET', 'PUT', 'POST', 'PATCH', 'DELETE', 'OPTIONS', 'QUERY'] ) assert retry_handler.respect_retry_after_header