cisco-spark-api 0.1.0.1 → 0.1.0.2
raw patch · 3 files changed
+14/−10 lines, 3 filesdep +conduitdep −conduit-combinators
Dependencies added: conduit
Dependencies removed: conduit-combinators
Files
- CHANGELOG.md +4/−0
- cisco-spark-api.cabal +4/−4
- src/Network/CiscoSpark.hs +6/−6
CHANGELOG.md view
@@ -1,3 +1,7 @@+## Cisco-spark-api 0.1.0.2++* Catch up to conduit-1.3.0.+ ## Cisco-spark-api 0.1.0.1 * Put explicit upper bound for conduit.
cisco-spark-api.cabal view
@@ -1,5 +1,5 @@ name: cisco-spark-api-version: 0.1.0.1+version: 0.1.0.2 synopsis: A Haskell bindings for Cisco Spark API description: Cisco-spark-api package provides types and functions for accessing Cisco Spark REST API. @@ -34,7 +34,7 @@ , aeson , attoparsec , bytestring- , conduit-combinators < 1.3+ , conduit , data-default , http-conduit , network-uri@@ -49,7 +49,7 @@ build-depends: base , aeson , bytestring- , conduit-combinators < 1.3+ , conduit , data-default , http-conduit , optparse-applicative@@ -70,7 +70,7 @@ , attoparsec , async , bytestring- , conduit-combinators < 1.3+ , conduit , data-default , http-conduit , http-types
src/Network/CiscoSpark.hs view
@@ -240,14 +240,14 @@ It accesses List API with given 'Request', unwrap result into list of items, stream them to Conduit pipe and finally it automatically accesses next page designated via HTTP Link header if available. -}-streamList :: (MonadIO m, SparkListItem i) => Authorization -> CiscoSparkRequest -> Source m i+streamList :: (MonadIO m, SparkListItem i) => Authorization -> CiscoSparkRequest -> ConduitT () i m () streamList auth (CiscoSparkRequest req scheme uriAuth) = do res <- httpJSON $ addAuthorizationHeader auth req yieldMany . unwrap $ getResponseBody res streamListLoop auth res scheme uriAuth -- | Processing pagination by HTTP Link header.-streamListLoop :: (MonadIO m, FromJSON a, SparkListItem i) => Authorization -> Response a -> String -> URIAuth -> Source m i+streamListLoop :: (MonadIO m, FromJSON a, SparkListItem i) => Authorization -> Response a -> String -> URIAuth -> ConduitT () i m () streamListLoop auth res scheme uriAuth = case getNextUrl res >>= validateUrl scheme uriAuth >>= (\url -> parseRequest $ "GET " <> C8.unpack url) of Nothing -> pure ()@@ -261,7 +261,7 @@ => Authorization -> CiscoSparkRequest -> filter- -> Source m (ToResponse filter)+ -> ConduitT () (ToResponse filter) m () streamEntityWithFilter auth base param = streamList auth $ setQeuryString $ makeCommonListReq base (apiPath param) where@@ -269,15 +269,15 @@ = comm { ciscoSparkRequestRequest = setRequestQueryString (toFilterList param) req } -- | List of 'Team' and stream it into Conduit pipe. It automatically performs pagination.-streamTeamList :: MonadIO m => Authorization -> CiscoSparkRequest -> Source m Team+streamTeamList :: MonadIO m => Authorization -> CiscoSparkRequest -> ConduitT () Team m () streamTeamList auth base = streamList auth $ makeCommonListReq base teamsPath -- | Filter list of 'Organization' and stream it into Conduit pipe. It automatically performs pagination.-streamOrganizationList :: MonadIO m => Authorization -> CiscoSparkRequest -> Source m Organization+streamOrganizationList :: MonadIO m => Authorization -> CiscoSparkRequest -> ConduitT () Organization m () streamOrganizationList auth base = streamList auth $ makeCommonListReq base organizationsPath -- | List of 'Role' and stream it into Conduit pipe. It automatically performs pagination.-streamRoleList :: MonadIO m => Authorization -> CiscoSparkRequest -> Source m Role+streamRoleList :: MonadIO m => Authorization -> CiscoSparkRequest -> ConduitT () Role m () streamRoleList auth base = streamList auth $ makeCommonListReq base rolesPath