support request options like `auth` and `headers` when attaching a URL
a few more changes for supporting URL options