playlists-http 0.1.0.0 → 0.1.1.0
raw patch · 4 files changed
+13/−8 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGES.md +4/−0
- LICENSE +1/−1
- playlists-http.cabal +3/−2
- src/Text/Playlist/HTTP/Full.hs +5/−5
CHANGES.md view
@@ -1,3 +1,7 @@+# Version 0.1.1.0 (February 5, 2017)++ * Remove redundant constraints as reported by GHC 8.X.+ # Version 0.1.0.0 (November 21, 2016) * Initial release.
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2016 Peter Jones <pjones@devalot.com>+Copyright (c) 2016,2017 Peter Jones <pjones@devalot.com> All rights reserved.
playlists-http.cabal view
@@ -1,15 +1,16 @@ name: playlists-http-version: 0.1.0.0+version: 0.1.1.0 synopsis: Library to glue together playlists and http-client homepage: https://github.com/pjones/playlists-http license: BSD3 license-file: LICENSE author: Peter Jones <pjones@devalot.com> maintainer: Peter Jones <pjones@devalot.com>-copyright: Copyright (c) 2016 Peter Jones+copyright: Copyright (c) 2016,2017 Peter Jones category: Text build-type: Simple cabal-version: >= 1.18+tested-with: GHC==7.10.3, GHC==8.0.1 description: Simple library for resolving playlists using http-client. --------------------------------------------------------------------------------
src/Text/Playlist/HTTP/Full.hs view
@@ -132,7 +132,7 @@ ------------------------------------------------------------------------------ -- | Start playlist processing with the startURL.- go :: (MonadIO m) => Download m Playlist+ go :: Download m Playlist go = resolve [Track startURL Nothing] fetch ------------------------------------------------------------------------------@@ -146,7 +146,7 @@ ------------------------------------------------------------------------------ -- | Initiate a HTTP download in IO and then delegate the parsing of -- the response body to the parseBody function.- fetch :: (MonadIO m) => Text -> Download m Playlist+ fetch :: Text -> Download m Playlist fetch url = do r <- request url e <- ask@@ -158,7 +158,7 @@ ------------------------------------------------------------------------------ -- | Like liftIO but catch exceptions and turn them into an Error.- safeIO :: (MonadIO m) => IO (Either Error a) -> Download m a+ safeIO :: IO (Either Error a) -> Download m a safeIO action = io (catch action stop) where io a = Download (lift (hoistEither =<< liftIO a))@@ -189,14 +189,14 @@ ---------------------------------------------------------------------------- -- | Dispatch an attoparsec response.- dispatch :: (MonadIO m) => Atto.Result Playlist -> Download m Playlist+ dispatch :: Atto.Result Playlist -> Download m Playlist dispatch (Atto.Fail _ _ err) = Download . lift $ left (FailedToParse err) dispatch (Atto.Partial f) = readChunk >>= dispatch . f dispatch (Atto.Done _ r) = return r ---------------------------------------------------------------------------- -- | Read bytes from the HTTP body.- readChunk :: (MonadIO m) => Download m ByteString+ readChunk :: Download m ByteString readChunk = do check <- asks httpByteCheck count <- gets httpBytes