chickadee » uri-common » update-uri

update-uri URI-common #!key scheme path query fragment host port username passwordprocedure

Update the specified keys in the URI-common object in a functional way (ie, it creates a new copy with the modifications).

Here's a nice tip: If you want to create an URI with only a few components set to dynamic values extracted from elsewhere, you can generally create an empty URI and update its constituent parts.

You can do that like this:

(uri->string (update-uri (uri-reference "") path: '("example" "greeting") query: '((hi . "there"))))
 => "example/greeting?hi=there"