module Network.URI.Partial (PartialURI, fromURI, relativeTo) where import Network.URI (URI) import qualified Network.URI as URI import Data.String (IsString(..)) newtype PartialURI = PartialURI URI deriving (Show, Eq) relativeTo :: PartialURI -> URI -> URI relativeTo (PartialURI p) base = p `URI.relativeTo` base fromURI :: URI -> PartialURI fromURI = PartialURI instance IsString PartialURI where fromString s = let Just u = URI.parseRelativeReference s in PartialURI u