I had some ideas about having multiple calls to apend to build up paths,
but it turns out that idea is pretty bad. `with*()` methods should
overwrite when called for the same field.
If we want to create and , we can do that later.
Here we have another example of trying to do something clever when simplicity is the better choice.
Rather than trying to guess the rate limit record for a request based on the url path,
I added an enumeration which can be set on the request to say which rate limit record to applies.
This is simpler, safer, and faster than trying to guess the rate limit from the url path.