{-# LANGUAGE
OverloadedStrings
, BangPatterns
, UnboxedTuples
, UnboxedSums
, MagicHash
, ScopedTypeVariables
, LambdaCase
, RecordWildCards
, NamedFieldPuns
, ApplicativeDo
#-}
{-# OPTIONS_HADDOCK not-home #-}
module Url.Unsafe
(
Url(..)
, ParseError(..)
) where
import Data.Bytes.Types (Bytes(..))
import GHC.Exts (Int#)
data Url = Url
{ urlSerialization :: {-# UNPACK #-} !Bytes
, urlSchemeEnd :: !Int#
, urlUsernameEnd :: !Int#
, urlHostStart :: !Int#
, urlHostEnd :: !Int#
, urlPort :: !Int#
, urlPathStart :: !Int#
, urlQueryStart :: !Int#
, urlFragmentStart :: !Int#
} deriving (Eq, Ord, Show)
data ParseError
= EndOfInput
| InvalidAuthority
| InvalidPort
deriving (Eq, Ord, Show)