You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The route precedence is computed based on a more specific route template being given a higher priority. For example, consider the templates /hello and /{message}:
When used in Azure Durable Functions, the specific routes are never used. WIth the below repro steps, function http_start_specific() is never reached, even when requesting /orchestrators/specific/something.
☕ Steps to reproduce
Create a durable function with the following function_app.py:
importazure.functionsasfuncimportazure.durable_functionsasdfmyApp=df.DFApp(http_auth_level=func.AuthLevel.ANONYMOUS)
# An HTTP-Triggered Function with a Durable Functions Client binding@myApp.route(route="orchestrators/{functionName}/{*path}")@myApp.durable_client_input(client_name="client")asyncdefhttp_start_generic(req: func.HttpRequest, client):
function_name=req.route_params.get("functionName")
iffunction_name=="specific_orchestrator":
return"You called the specific orchestrator, but the generic orchestrator processed the request!"else:
return"You called the generic orchestrator."@myApp.route(route="orchestrators/specific/{*path}")@myApp.durable_client_input(client_name="client")asyncdefhttp_start_specific(req: func.HttpRequest, client):
return"You called the specific orchestrator."
🐛 Describe the bug
A durable function that uses routing or URL matching does not respect the ASP.NET routing precedence. As per https://learn.microsoft.com/en-us/aspnet/core/fundamentals/routing?view=aspnetcore-8.0#url-matching, a specific route takes precedence:
When used in Azure Durable Functions, the specific routes are never used. WIth the below repro steps, function
http_start_specific()
is never reached, even when requesting/orchestrators/specific/something
.☕ Steps to reproduce
function_app.py
:The text was updated successfully, but these errors were encountered: