hzulip 1.1.0.0 → 1.1.0.1
raw patch · 2 files changed
+11/−9 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- hzulip.cabal +1/−1
- src/Web/HZulip.hs +10/−8
hzulip.cabal view
@@ -1,5 +1,5 @@ name: hzulip-version: 1.1.0.0+version: 1.1.0.1 synopsis: A haskell wrapper for the Zulip API. description: This a Zulip API wrapper for Haskell. homepage: https://github.com/yamadapc/hzulip
src/Web/HZulip.hs view
@@ -81,11 +81,12 @@ import Control.Monad (void) import Control.Monad.IO.Class (liftIO) import Control.Monad.Trans.Reader (ask, runReaderT)-import Data.Aeson (decode)+import Data.Aeson (Value(..), decode, encode) import Data.Aeson.Lens (key, values, _String) import qualified Data.ByteString.Lazy as BL (ByteString) import qualified Data.ByteString.Char8 as C (pack) import qualified Data.ByteString.Lazy.Char8 as CL (unpack)+import Data.List (intercalate) import Data.Text as T (Text, unpack) import Data.Text.Encoding as T (encodeUtf8) import Network.HTTP.Client (Request, applyBasicAuth, httpLbs, method,@@ -216,8 +217,9 @@ -- Add new Stream subscriptions to the client. addSubscriptions :: [String] -> ZulipM () addSubscriptions sbs = do- let form = [ ("subscriptions", show sbs) ]- void $ zulipMakeRequest Subscriptions methodPost form+ let sbs' = intercalate "," $ map (\s -> "{\"name\":" ++ show s ++ "}") sbs+ form = [ ("add", "[" ++ sbs' ++ "]") ]+ void $ zulipMakeRequest Subscriptions methodPatch form -- | -- Remove one or more Stream subscriptions from the client@@ -285,7 +287,7 @@ zulipMakeRequest' u m d = do z <- ask req <- liftIO $ parseUrl (clientBaseUrl z ++ u)- req' <- prepareRequest d req+ req' <- prepareRequest d req m res <- liftIO $ httpLbs req' { method = m } $ clientManager z return $ responseBody res @@ -301,12 +303,12 @@ -- Adds a QueryString or FormData body, represented by a list of tuples, -- and authenticates the request, with the current zulip state's -- credentials.-prepareRequest :: RequestData -> Request -> ZulipM Request-prepareRequest [] r = applyAuth r-prepareRequest d r | method r == methodGet =+prepareRequest :: RequestData -> Request -> Method -> ZulipM Request+prepareRequest [] r _ = applyAuth r+prepareRequest d r m | m == methodGet = applyAuth $ setQueryString (map helper d) r where helper (k, v) = (encodeUtf8 k, Just $ C.pack v)-prepareRequest d r =+prepareRequest d r _ = applyAuth =<< formDataBody (map (uncurry partBS . second C.pack) d) r -- |