Is it possible to restrict an edge function to any path with a given query parameter?
I’m trying things like
[[edge_functions]]
pattern = “^.*?download=.+$”
function = “download”
[[edge_functions]]
path = “/?download=”
function = “download”
Is it possible to restrict an edge function to any path with a given query parameter?
I’m trying things like
[[edge_functions]]
pattern = “^.*?download=.+$”
function = “download”
[[edge_functions]]
path = “/?download=”
function = “download”
I believe the pattern declaration should work. Is it not? If so, can we have a site name to check?
Hi @hrishikesh , thanks for getting back to me. I tried using the pattern syntax but receive this using netlify deploy
14:14:43 When resolving config file /app/netlify.toml:
Configuration property edge_functions[1] has unknown properties. Valid properties are:
- path
- function
- cache
Invalid syntax
[[edge_functions]]
pattern = "^.*\\?download_file_url=.+$"
function = "download"
Valid syntax
[[edge_functions]]
path = "/hello"
function = "hello"
[[edge_functions]]
pattern = "^.*\?download_file_url=.+$"
function = "download"
@hrishikesh that was fixed by updating the Netlify CLI. But using that pattern does not trigger the edge function based on logs. Site name is knime-playground
Thanks, it indeed looks like it’s not working. I have asked the devs if this is something we intend to support.
The devs checked this and we only match the pattern on the path
property of a URL, not the complete URL. The path does not include query params, which is why this doesn’t work.
Thanks for checking. Is there an alternative approach I could do to intercept request with a certain path? I know query param redirects are supported, but I think I tried to redirect to the edge function but that didn’t work.
I’m not sure why you need the query param. Why can’t you simply dedicate a custom path like /download
and work with it? What’s the use case here?