URL utilities with Relude
ReludeURL
contains data structures and functions for dealing with URIs, URLs, etc. This library
is not currently fully conformant to the RFC 3986 URI spec - it only
parses a subset of common absolute URI formats, i.e. formats that are most commonly found in the wild. If you
encounter a URI
that ReludeURL
can't parse correctly, please open an issue with the URI
for consideration.
A URI is broken up into several sub-component types, including Scheme
, Authority
, UserInfo
, Path
, etc.
ReludeURL
uses ReludeParse to parse URIs. To run a URI parser, you use
the standard convention for running a ReludeParse
parser, like below:
ReludeURL.URI.parser |> ReludeParse.runParser("https://example.com:80/my/path") // Belt.Result.Ok(URI(...))
Once a URI
is parsed or constructed, it's often useful to write it back out to a string:
ReludeURL.URI.show(myURI) // http
Parts of the URI
can be manipulated using the functions from the target part of the URI
. A common operation is
to manipulate the query params - this can be done using functions in the URI
module, or in the Query
/QueryParam
/etc. modules.
> npm run clean
> npm run build
> npm run cleanbuild
> npm run test
> npm run cleantest
> npm run coverage
> npm run cleancoverage
> npm run watch
> npm version major|minor|patch
> git push origin --follow-tags
> git push upstream --follow-tags
> npm publish
# Create release on GitHub
A simple default.nix shell config is provided to avoid issues with OCaml-based binaries and bs-platform.
> nix-shell
%nix%> npm install