Most cases the current_resource isn’t actually needed, so calls could be made
from extensions and still get the correct path back.
An exception will be raised with a descriptive message if the current_resource
is needed but not given. (for example, if relative is true — it needs a resource
to base the url on)