Now that I think of it, I think what I actually needed was the current URL, as sent by the user and irrespective of what routing filters I used. This will preserve variable path segments and query string parameters.
To do that, I can get the current Request
via askRq
and get the URL from it via rqUri
and rqQuery
rq <- askRq
let action = (rqUri rq) ++ (rqQuery rq)