webex-teams-pipes: Pipes wrapper of Webex Teams List API

[ library, mit, program, web ] [ Propose Tags ]

Please see the README on Github at https://github.com/nshimaza/webex-teams-api#readme


[Skip to Readme]
Versions [faq] 0.2.0.0
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), bytestring, data-default, http-client, optparse-applicative, pipes, text, utf8-string, webex-teams-api, webex-teams-pipes [details]
License MIT
Copyright 2017,2018 Naoto Shimazaki
Author Naoto Shimazaki
Maintainer Naoto.Shimazaki@gmail.com
Category Web
Home page https://github.com/nshimaza/webex-teams-api#readme
Bug tracker https://github.com/nshimaza/webex-teams-api/issues
Source repo head: git clone https://github.com/nshimaza/webex-teams-api
Uploaded by nshimaza at Wed May 30 05:06:19 UTC 2018
Distributions LTSHaskell:0.2.0.0, NixOS:0.2.0.0, Stackage:0.2.0.0
Executables webex-teams-pipes-exe
Downloads 251 total (16 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-05-30 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for webex-teams-pipes-0.2.0.0

[back to package description]

webex-teams-pipes

License: MIT Build Status Hackage Stackage Nightly Stackage LTS

pipes wrapper of webex-teams-api.

Webex-teams-pipes is thin wrappers of list API. It transform chunky response from list API into seamless stream of elements.

A Haskell bindings for Cisco Webex Teams (formerly Cisco Spark) API

This package also provides some sample usage in command line application style. See source under app directory of the source package.

Sample Usage

Following example is calling List Membership API which returns membership between Rooms and users (Person). You can extract each Membership from pipes pipe. The streamListWithFilter, provided by webex-teams-pipes, automatically performs pagenation when it is asked more element and last response had link of subsequent page in HTTP Link Header.

    let auth   = Authorization "your authorization token"
        filter = MembershipFilter yourRoomId Nothing Nothing
    runEffect $ streamListWithFilter auth def filter .| takeC 200 .| mapM_C print (FIXME)

You can find more examples in app/Main.hs.

Limitation

  • Relative reference in Link Header is not recognized as next page