Skip to content

feat: Support HTTP QUERY method (RFC 10008) in Azure Functions HTTP triggers #11865

Description

Thank you for your continued work on Azure Functions — we rely heavily on this platform for production-grade APIs.

Feature Request

Add support for the HTTP QUERY method defined in RFC 10008 in Azure Functions HTTP triggers.

Background

The QUERY method fills the gap between GET and POST for read-only operations. Currently APIs are forced to use POST when a request body is needed for complex queries — which is semantically incorrect as POST implies a state-changing operation. QUERY is:

  • Safe — read-only, like GET
  • Idempotent — repeating the request has the same effect
  • Body-supporting — unlike GET, allows a request body for complex query parameters

What's already done

The Python worker SDK side has been implemented in:
Azure/azure-functions-python-library#350

HttpMethod.QUERY has been added to the HttpMethod enum, with full test coverage for the converter, trigger binding, and ASGI/WSGI middleware layers.

What's needed from the host

For this to work end-to-end on Azure-hosted Functions, the host needs to:

  1. Accept QUERY as a valid HTTP method on its listener
  2. Forward the request body to the Python (and other language) workers

Example usage (once supported)

@app.route(route="products", methods=[HttpMethod.QUERY])
def query_products(req: func.HttpRequest) -> func.HttpResponse:
    filters = req.get_json()
    ...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions