let dump_uri uri =
sprintf "{ scheme=%s authority=%s path=%S query=%s fragment=%s }"
(dump_optstr uri.scheme)
(match uri.authority with | None -> "None" | Some a -> dump_authority a)
uri.path (dump_optstr uri.query) (dump_optstr uri.fragment)