uri-conduit 0.4.0.1 → 0.5.0
raw patch · 3 files changed
+20/−21 lines, 3 filesdep ~conduitPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: conduit
API changes (from Hackage documentation)
- Network.URI.Conduit: Scheme :: Set Text -> (forall m. MonadResource m => Maybe (URI -> Source m ByteString)) -> (forall m. MonadResource m => Maybe (URI -> Sink ByteString m ())) -> Scheme
+ Network.URI.Conduit: Scheme :: Set Text -> (forall l i u m. MonadResource m => Maybe (URI -> Pipe l i ByteString u m ())) -> (forall l o r m. MonadResource m => Maybe (URI -> Pipe l ByteString o r m r)) -> Scheme
- Network.URI.Conduit: readURI :: MonadResource m => SchemeMap -> URI -> Source m ByteString
+ Network.URI.Conduit: readURI :: MonadResource m => SchemeMap -> URI -> Pipe l i ByteString u m ()
- Network.URI.Conduit: schemeReader :: Scheme -> forall m. MonadResource m => Maybe (URI -> Source m ByteString)
+ Network.URI.Conduit: schemeReader :: Scheme -> forall l i u m. MonadResource m => Maybe (URI -> Pipe l i ByteString u m ())
- Network.URI.Conduit: schemeWriter :: Scheme -> forall m. MonadResource m => Maybe (URI -> Sink ByteString m ())
+ Network.URI.Conduit: schemeWriter :: Scheme -> forall l o r m. MonadResource m => Maybe (URI -> Pipe l ByteString o r m r)
- Network.URI.Conduit: writeURI :: MonadResource m => SchemeMap -> URI -> Sink ByteString m ()
+ Network.URI.Conduit: writeURI :: MonadResource m => SchemeMap -> URI -> Pipe l ByteString o r m r
Files
- Network/URI/Conduit.hs +14/−15
- Network/URI/Conduit/File.hs +4/−4
- uri-conduit.cabal +2/−2
Network/URI/Conduit.hs view
@@ -30,7 +30,7 @@ import qualified Network.URI as N import Data.Text (Text, cons, isSuffixOf, pack, unpack)-import qualified Data.Conduit as C+import Data.Conduit hiding (Source, Conduit, Sink) import Data.ByteString (ByteString) import qualified Data.Map as Map import qualified Data.Set as Set@@ -69,8 +69,8 @@ data Scheme = Scheme { schemeNames :: Set.Set Text- , schemeReader :: forall m. C.MonadResource m => Maybe (URI -> C.Source m ByteString)- , schemeWriter :: forall m. C.MonadResource m => Maybe (URI -> C.Sink ByteString m ())+ , schemeReader :: forall l i u m. MonadResource m => Maybe (URI -> Pipe l i ByteString u m ())+ , schemeWriter :: forall l o r m. MonadResource m => Maybe (URI -> Pipe l ByteString o r m r) } type SchemeMap = Map.Map Text Scheme@@ -91,23 +91,22 @@ deriving (Show, Typeable) instance Exception URIException -readURI :: C.MonadResource m+readURI :: MonadResource m => SchemeMap -> URI- -> C.Source m ByteString-readURI sm uri = C.PipeM- (case Map.lookup (uriScheme uri) sm >>= schemeReader of- Nothing -> C.monadThrow $ UnknownReadScheme uri- Just f -> return $ f uri)- (return ())+ -> Pipe l i ByteString u m ()+readURI sm uri =+ case Map.lookup (uriScheme uri) sm >>= schemeReader of+ Nothing -> lift $ monadThrow $ UnknownReadScheme uri+ Just f -> f uri -writeURI :: C.MonadResource m+writeURI :: MonadResource m => SchemeMap -> URI- -> C.Sink ByteString m ()+ -> Pipe l ByteString o r m r writeURI sm uri = case Map.lookup (uriScheme uri) sm >>= schemeWriter of- Nothing -> lift $ C.monadThrow $ UnknownWriteScheme uri+ Nothing -> lift $ monadThrow $ UnknownWriteScheme uri Just f -> f uri toNetworkURI :: URI -> N.URI@@ -146,9 +145,9 @@ nullURI :: URI nullURI = fromNetworkURI N.nullURI -copyURI :: C.MonadResource m+copyURI :: MonadResource m => SchemeMap -> URI -> URI -> m ()-copyURI sm src dst = readURI sm src C.$$ writeURI sm dst+copyURI sm src dst = readURI sm src $$ writeURI sm dst
Network/URI/Conduit/File.hs view
@@ -12,10 +12,10 @@ import qualified Filesystem.Path.CurrentOS as FP import qualified Data.Text as T import qualified Data.Set as Set-import qualified Data.Conduit as C import qualified Data.Conduit.Binary as CB import qualified Filesystem as F import Control.Monad.IO.Class (liftIO)+import Control.Monad.Trans.Class (lift) -- | Converts a string, such as a command-line argument, into a URI. First -- tries to parse as an absolute URI. If this fails, it interprets as a@@ -39,10 +39,10 @@ fileScheme = Scheme { schemeNames = Set.singleton "file:" , schemeReader = Just $ CB.sourceFile . FP.encodeString . toFilePath- , schemeWriter = Just $ \uri -> flip C.PipeM (return ()) $ do+ , schemeWriter = Just $ \uri -> do let fp = toFilePath uri- liftIO $ F.createTree $ FP.directory fp- return $ CB.sinkFile $ FP.encodeString fp+ lift $ liftIO $ F.createTree $ FP.directory fp+ CB.sinkFile $ FP.encodeString fp } toFilePath :: URI -> FP.FilePath
uri-conduit.cabal view
@@ -1,5 +1,5 @@ Name: uri-conduit-Version: 0.4.0.1+Version: 0.5.0 Synopsis: Read and write URIs Homepage: http://github.com/snoyberg/xml License: BSD3@@ -15,7 +15,7 @@ Exposed-modules: Network.URI.Conduit Network.URI.Conduit.File Build-depends: base >= 4 && < 5- , conduit >= 0.4 && < 0.5+ , conduit >= 0.5 && < 0.6 , text >= 0.5 && < 1.0 , transformers >= 0.2 && < 0.4 , bytestring >= 0.9 && < 0.10