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:
- Accept
QUERY as a valid HTTP method on its listener
- 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()
...
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
QUERYmethod defined in RFC 10008 in Azure Functions HTTP triggers.Background
The
QUERYmethod fills the gap betweenGETandPOSTfor read-only operations. Currently APIs are forced to usePOSTwhen a request body is needed for complex queries — which is semantically incorrect asPOSTimplies a state-changing operation.QUERYis:GETGET, allows a request body for complex query parametersWhat's already done
The Python worker SDK side has been implemented in:
Azure/azure-functions-python-library#350
HttpMethod.QUERYhas been added to theHttpMethodenum, 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:
QUERYas a valid HTTP method on its listenerExample usage (once supported)