modern-uri-0.2.1.0: Modern library for working with URIs

Copyright© 2017–2018 Mark Karpov
LicenseBSD 3 clause
MaintainerMark Karpov <markkarpov92@gmail.com>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Text.URI.Lens

Description

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

Synopsis

Documentation

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

URI scheme lens.

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

URI authority lens.

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

uriPath :: Lens' URI [RText PathPiece] #

URI path lens.

isPathAbsolute :: Getter URI Bool #

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

Since: 0.1.0.0

uriTrailingSlash :: Traversal' URI Bool #

A 0-1 traversal allowing to view and manipulate trailing slash.

Since: 0.2.0.0

uriQuery :: Lens' URI [QueryParam] #

URI query params lens.

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

URI fragment lens.

authUserInfo :: Lens' Authority (Maybe UserInfo) #

Authority user info lens.

authHost :: Lens' Authority (RText Host) #

Authority host lens.

authPort :: Lens' Authority (Maybe Word) #

Authority port lens.

uiUsername :: Lens' UserInfo (RText Username) #

UserInfo username lens.

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

UserInfo password lens.

_QueryFlag :: Prism' QueryParam (RText QueryKey) #

QueryParam prism for query flags.

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

QueryParam prism for query parameters.

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

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

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

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 #

A getter that can project Text from refined text values.