servant-routes
Copyright(c) Frederick Pringle 2025
LicenseBSD-3-Clause
Maintainerfrederick.pringle@fpringle.com
Safe HaskellNone
LanguageHaskell2010

Servant.API.Routes.Path

Description

Simple representation of URL paths.

Synopsis

Documentation

data Path Source #

Simple representation of a URL path.

Instances

Instances details
ToJSON Path Source # 
Instance details

Defined in Servant.API.Routes.Internal.Path

Show Path Source # 
Instance details

Defined in Servant.API.Routes.Internal.Path

Methods

showsPrec :: Int -> Path -> ShowS #

show :: Path -> String #

showList :: [Path] -> ShowS #

Eq Path Source # 
Instance details

Defined in Servant.API.Routes.Internal.Path

Methods

(==) :: Path -> Path -> Bool #

(/=) :: Path -> Path -> Bool #

Ord Path Source # 
Instance details

Defined in Servant.API.Routes.Internal.Path

Methods

compare :: Path -> Path -> Ordering #

(<) :: Path -> Path -> Bool #

(<=) :: Path -> Path -> Bool #

(>) :: Path -> Path -> Bool #

(>=) :: Path -> Path -> Bool #

max :: Path -> Path -> Path #

min :: Path -> Path -> Path #

prependPathPart :: Text -> Path -> Path Source #

Prepend a simple text path part to an API path.

For example, prependPathPart "api" will transform /v2/users to /api/v2/users.

prependCapturePart :: Typeable a => Text -> Path -> Path Source #

Prepend a capture path part of a given type to an API path. Equivalent to Capture name a :>.

For example, prependCapturePart @Int "id" will transform /detail to /<Int>/detail.

prependCaptureAllPart :: Typeable a => Text -> Path -> Path Source #

Prepend a capture-all path part of a given type to an API path. Equivalent to CaptureAll name a :>.

For example, prependCaptureAllPart @Int "id" will transform /detail to /<[Int]>/detail.

renderPath :: Path -> Text Source #

Pretty-print a path, including the leading /.