modern-uri- Modern library for working with URIs

Copyright© 2017 Mark Karpov
LicenseBSD 3 clause
MaintainerMark Karpov <>
Safe HaskellNone



Lenses for working with the URI data type and its internals.



uriScheme :: Lens' URI (Maybe (RText Scheme)) Source #

URI scheme lens.

uriAuthority :: Lens' URI (Either Bool Authority) Source #

URI authority lens.

Note: before version this lens allowed to focus on Maybe Authority.

uriPath :: Lens' URI [RText PathPiece] Source #

URI path lens.

isPathAbsolute :: Getter URI Bool Source #

A getter that can tell if path component of a URI is absolute.


uriQuery :: Lens' URI [QueryParam] Source #

URI query params lens.

uriFragment :: Lens' URI (Maybe (RText Fragment)) Source #

URI fragment lens.

uiUsername :: Lens' UserInfo (RText Username) Source #

UserInfo username lens.

uiPassword :: Lens' UserInfo (Maybe (RText Password)) Source #

UserInfo password lens.

_QueryFlag :: Prism' QueryParam (RText QueryKey) Source #

QueryParam prism for query flags.

_QueryParam :: Prism' QueryParam (RText QueryKey, RText QueryValue) Source #

QueryParam prism for query parameters.

queryFlag :: RText QueryKey -> Getter [QueryParam] Bool Source #

Check if the given query key is present in the collection of query parameters.

queryParam :: RText QueryKey -> Traversal' [QueryParam] (RText QueryValue) Source #

Manipulate a query parameter by its key. Note that since there may be several query parameters with the same key this is a traversal that can return/modify several items at once.

unRText :: Getter (RText l) Text Source #

A getter that can project Text from refined text values.