URI.Path.Segment
#PathSegment
newtype PathSegment
A path segment. Can be empty, as this is required to represent some paths - segments are joined together with slashes, so in cases where a path contains multiple contiguous slashes this is represented by a group of empty path segments. Corresponds to segment in the spec.
Instances
#segmentFromString
segmentFromString :: String -> PathSegment
Constructs a segment value from a string, percent-encoding any characters
that require it. Note that running this on a string that has already had
percent-encoding applied will double-encode it, for those situations use
unsafeSegmentFromString
instead.
#segmentToString
segmentToString :: PathSegment -> String
Returns the string value for a segment, percent-decoding any characters that require it.
#unsafeSegmentFromString
unsafeSegmentFromString :: String -> PathSegment
Constructs a segment value from a string directly - no percent-encoding will be applied. This is useful when using a custom encoding scheme for the segment, to prevent double-encoding.
#unsafeSegmentToString
unsafeSegmentToString :: PathSegment -> String
Returns the string value for the segment without percent-decoding. Only
"unsafe" in the sense that values this produces may need further decoding,
the name is more for symmetry with the segmentFromString
/
unsafeSegmentFromString
pairing.
#parseSegment
parseSegment :: Parser String PathSegment
A parser for a segment component of a URI.
#printSegment
printSegment :: PathSegment -> String
A printer for a segment component of a URI.
#PathSegmentNZ
newtype PathSegmentNZ
A path segment that cannot be empty. Corresponds to segment-nz in the spec.
Instances
#segmentNZFromString
segmentNZFromString :: NonEmptyString -> PathSegmentNZ
Constructs a non-empty segment value from a string, percent-encoding any
characters that require it. Note that running this on a string that has
already had percent-encoding applied will double-encode it, for those
situations use unsafeSegmentNZFromString
instead.
#segmentNZToString
segmentNZToString :: PathSegmentNZ -> NonEmptyString
Returns the string value for a non-empty segment, percent-decoding any characters that require it.
#unsafeSegmentNZFromString
unsafeSegmentNZFromString :: NonEmptyString -> PathSegmentNZ
Constructs a non-empty segment value from a string directly - no percent-encoding will be applied. This is useful when using a custom encoding scheme for the segment, to prevent double-encoding.
#unsafeSegmentNZToString
unsafeSegmentNZToString :: PathSegmentNZ -> NonEmptyString
Returns the string value for a non-empty segment without percent-decoding.
Only "unsafe" in the sense that values this produces may need further
decoding, the name is more for symmetry with the segmentNZFromString
/
unsafeSegmentNZFromString
pairing.
#parseSegmentNZ
parseSegmentNZ :: Parser String PathSegmentNZ
A parser for a segment-nz component of a URI.
#printSegmentNZ
printSegmentNZ :: PathSegmentNZ -> String
A printer for a segment-nz component of a URI.
#PathSegmentNZNC
newtype PathSegmentNZNC
A path segment that cannot be empty or contain the :
character.
Corresponds to segment-nz-nc in the spec.
Instances
#segmentNZNCFromString
segmentNZNCFromString :: NonEmptyString -> PathSegmentNZNC
Constructs a non-empty-no-colon segment value from a string,
percent-encoding any characters that require it. Note that running this on
a string that has already had percent-encoding applied will double-encode
it, for those situations use unsafeSegmentNZNCFromString
instead.
#segmentNZNCToString
segmentNZNCToString :: PathSegmentNZNC -> NonEmptyString
Constructs a non-empty-no-colon segment value from a string directly - no percent-encoding will be applied. This is useful when using a custom encoding scheme for the segment, to prevent double-encoding.
#unsafeSegmentNZNCFromString
unsafeSegmentNZNCFromString :: NonEmptyString -> PathSegmentNZNC
Returns the string value for a non-empty-no-colon segment, percent-decoding any characters that require it.
#unsafeSegmentNZNCToString
unsafeSegmentNZNCToString :: PathSegmentNZNC -> NonEmptyString
Returns the string value for the non-empty-no-colon segment without
percent-decoding. Only "unsafe" in the sense that values this produces may
need further decoding, the name is more for symmetry with the
segmentNZNCFromString
/unsafeSegmentNZNCFromString
pairing.
#parseSegmentNZNC
parseSegmentNZNC :: Parser String PathSegmentNZNC
A parser for a segment-nz-nc component of a URI.
#printSegmentNZNC
printSegmentNZNC :: PathSegmentNZNC -> String
A printer for a segment-nz-nc component of a URI.
#segmentChar
segmentChar :: Parser String Char
The supported path segment characters, excluding percent-encodings.
#segmentNCChar
segmentNCChar :: Parser String Char
The supported no-colon path segment characters, excluding percent-encodings.
Packages
assert
catenable-lists
const
convertable-options
datetime-parsing
debug
distributive
erl-atom
erl-gun
erl-lager
erl-logger
erl-maps
erl-modules
erl-nativerefs
erl-opentelemetry
- OpenTelemetry.Metrics
- OpenTelemetry.Metrics.Counter
- OpenTelemetry.Metrics.Meter
- OpenTelemetry.Metrics.SumObserver
- OpenTelemetry.Metrics.UpDownCounter
- OpenTelemetry.Metrics.UpDownSumObserver
- OpenTelemetry.Metrics.ValueObserver
- OpenTelemetry.Metrics.ValueRecorder
- OpenTelemetry.Tracing
- OpenTelemetry.Tracing.Baggage
- OpenTelemetry.Tracing.Ctx
- OpenTelemetry.Tracing.Propagator.TextMap
- OpenTelemetry.Tracing.Span
- OpenTelemetry.Tracing.Tracer
- Tracing.Attributes
erl-process
erl-queue
erl-ranch
erl-simplebus
erl-ssl
erl-test-eunit
erl-test-eunit-discovery
erl-tuples
erl-untagged-union
exceptions
exists
expect-inferred
functions
graphs
heterogeneous
identity
integers
invariant
js-uri
lazy
lcg
math
media-types
newtype
nonempty
nullable
ordered-collections
partial
prelude
- Control.Applicative
- Control.Apply
- Control.Bind
- Control.Category
- Control.Monad
- Control.Semigroupoid
- Data.Boolean
- Data.BooleanAlgebra
- Data.Bounded
- Data.Bounded.Generic
- Data.CommutativeRing
- Data.DivisionRing
- Data.Eq
- Data.Eq.Generic
- Data.EuclideanRing
- Data.Field
- Data.Function
- Data.Functor
- Data.Generic.Rep
- Data.HeytingAlgebra
- Data.HeytingAlgebra.Generic
- Data.Monoid
- Data.Monoid.Additive
- Data.Monoid.Conj
- Data.Monoid.Disj
- Data.Monoid.Dual
- Data.Monoid.Endo
- Data.Monoid.Generic
- Data.Monoid.Multiplicative
- Data.NaturalTransformation
- Data.Ord
- Data.Ord.Generic
- Data.Ordering
- Data.Ring
- Data.Ring.Generic
- Data.Semigroup
- Data.Semigroup.First
- Data.Semigroup.Generic
- Data.Semigroup.Last
- Data.Semiring
- Data.Semiring.Generic
- Data.Show
- Data.Show.Generic
- Data.Symbol
- Data.Unit
- Data.Void
- Record.Unsafe
- Type.Data.Row
- Type.Data.RowList
- Type.Proxy
profunctor-lenses
- Data.Lens.AffineTraversal
- Data.Lens.At
- Data.Lens.Common
- Data.Lens.Fold
- Data.Lens.Fold.Partial
- Data.Lens.Getter
- Data.Lens.Grate
- Data.Lens.Index
- Data.Lens.Indexed
- Data.Lens.Internal.Bazaar
- Data.Lens.Internal.Exchange
- Data.Lens.Internal.Focusing
- Data.Lens.Internal.Forget
- Data.Lens.Internal.Grating
- Data.Lens.Internal.Indexed
- Data.Lens.Internal.Market
- Data.Lens.Internal.Re
- Data.Lens.Internal.Shop
- Data.Lens.Internal.Stall
- Data.Lens.Internal.Tagged
- Data.Lens.Internal.Wander
- Data.Lens.Internal.Zipping
- Data.Lens.Iso
- Data.Lens.Iso.Newtype
- Data.Lens.Lens
- Data.Lens.Lens.Product
- Data.Lens.Lens.Tuple
- Data.Lens.Lens.Unit
- Data.Lens.Lens.Void
- Data.Lens.Prism
- Data.Lens.Prism.Coproduct
- Data.Lens.Prism.Either
- Data.Lens.Prism.Maybe
- Data.Lens.Record
- Data.Lens.Setter
- Data.Lens.Traversal
- Data.Lens.Types
- Data.Lens.Zoom
psci-support
quickcheck-laws
- Test.QuickCheck.Laws
- Test.QuickCheck.Laws.Control.Alt
- Test.QuickCheck.Laws.Control.Alternative
- Test.QuickCheck.Laws.Control.Applicative
- Test.QuickCheck.Laws.Control.Apply
- Test.QuickCheck.Laws.Control.Bind
- Test.QuickCheck.Laws.Control.Category
- Test.QuickCheck.Laws.Control.Comonad
- Test.QuickCheck.Laws.Control.Extend
- Test.QuickCheck.Laws.Control.Monad
- Test.QuickCheck.Laws.Control.MonadPlus
- Test.QuickCheck.Laws.Control.MonadZero
- Test.QuickCheck.Laws.Control.Plus
- Test.QuickCheck.Laws.Control.Semigroupoid
- Test.QuickCheck.Laws.Data.BooleanAlgebra
- Test.QuickCheck.Laws.Data.Bounded
- Test.QuickCheck.Laws.Data.BoundedEnum
- Test.QuickCheck.Laws.Data.CommutativeRing
- Test.QuickCheck.Laws.Data.DivisionRing
- Test.QuickCheck.Laws.Data.Eq
- Test.QuickCheck.Laws.Data.EuclideanRing
- Test.QuickCheck.Laws.Data.Field
- Test.QuickCheck.Laws.Data.Foldable
- Test.QuickCheck.Laws.Data.Functor
- Test.QuickCheck.Laws.Data.FunctorWithIndex
- Test.QuickCheck.Laws.Data.HeytingAlgebra
- Test.QuickCheck.Laws.Data.Monoid
- Test.QuickCheck.Laws.Data.Ord
- Test.QuickCheck.Laws.Data.Ring
- Test.QuickCheck.Laws.Data.Semigroup
- Test.QuickCheck.Laws.Data.Semiring
random
rationals
record-prefix
refs
safe-coerce
semirings
simple-json
strings
- Data.Char
- Data.Char.Gen
- Data.String.CaseInsensitive
- Data.String.CodePoints
- Data.String.CodeUnits
- Data.String.Common
- Data.String.Gen
- Data.String.NonEmpty.CaseInsensitive
- Data.String.NonEmpty.CodePoints
- Data.String.NonEmpty.CodeUnits
- Data.String.NonEmpty.Internal
- Data.String.Pattern
- Data.String.Regex
- Data.String.Regex.Flags
- Data.String.Regex.Unsafe
- Data.String.Unsafe
tailrec
transformers
- Control.Comonad.Env
- Control.Comonad.Env.Class
- Control.Comonad.Env.Trans
- Control.Comonad.Store
- Control.Comonad.Store.Class
- Control.Comonad.Store.Trans
- Control.Comonad.Traced
- Control.Comonad.Traced.Class
- Control.Comonad.Traced.Trans
- Control.Comonad.Trans.Class
- Control.Monad.Cont
- Control.Monad.Cont.Class
- Control.Monad.Cont.Trans
- Control.Monad.Error.Class
- Control.Monad.Except
- Control.Monad.Except.Trans
- Control.Monad.Identity.Trans
- Control.Monad.List.Trans
- Control.Monad.Maybe.Trans
- Control.Monad.RWS
- Control.Monad.RWS.Trans
- Control.Monad.Reader
- Control.Monad.Reader.Class
- Control.Monad.Reader.Trans
- Control.Monad.State
- Control.Monad.State.Class
- Control.Monad.State.Trans
- Control.Monad.Trans.Class
- Control.Monad.Writer
- Control.Monad.Writer.Class
- Control.Monad.Writer.Trans
type-equality
undefinable
unfoldable
unsafe-coerce
unsafe-reference
uri
- URI.AbsoluteURI
- URI.Authority
- URI.Common
- URI.Extra.MultiHostPortPair
- URI.Extra.QueryPairs
- URI.Extra.UserPassInfo
- URI.Fragment
- URI.HierarchicalPart
- URI.Host
- URI.Host.Gen
- URI.Host.IPv4Address
- URI.Host.IPv6Address
- URI.Host.RegName
- URI.HostPortPair
- URI.HostPortPair.Gen
- URI.Path
- URI.Path.Absolute
- URI.Path.NoScheme
- URI.Path.Rootless
- URI.Path.Segment
- URI.Port
- URI.Port.Gen
- URI.Query
- URI.RelativePart
- URI.RelativeRef
- URI.Scheme
- URI.Scheme.Common
- URI.URI
- URI.URIRef
- URI.UserInfo