packages feed

messente 0.1.0.0 → 0.1.0.1

raw patch · 2 files changed

+40/−4 lines, 2 filesdep ~HTTPdep ~basedep ~bytestring

Dependency ranges changed: HTTP, base, bytestring, http-conduit, network

Files

Messente.hs view
@@ -1,4 +1,32 @@ {-# LANGUAGE OverloadedStrings, DeriveDataTypeable #-}+{-|+Module      : Messente+Description : Messente SMS Gateway wrapper library+License     : MIT+Maintainer  : kaiko@zazler.com++Example++@+import Messente++smsSend = send \"api-username\" \"api-password\"+main = do+  result <- smsSend Nothing \"+00000000000\" \"my first sms\"+  putStrLn $ case result of+    Right id -> \"sms sent, id: \" ++ id+    Left (errNo, errStr) -> \"not sent: \" ++ show errNo ++ \", \" ++ errStr++  listen 9000 delivery++delivery :: Delivery -> IO ()+delivery del = putStrLn $+  case del of+    Delivered id  -> \"delivered \" ++ id+    DeliveryError id errNo errStr -> \"not delivered \" ++ id ++ \": \" ++ errStr+    DeliveryProgress id status    -> \"progress \"      ++ id ++ \": \" ++ status+@+-} module Messente   ( Delivery(..)   , MessenteError(..)@@ -25,6 +53,7 @@  servers = [ "api2.messente.com", "api3.messente.com" ] +-- |Messente SMS textual id  type SmsID = String  -- |Exceptions for Messente API@@ -34,7 +63,7 @@   | InvalidParameters [(String, String)]   | InvalidSender String   | MissingPin-  | ServersDown           -- ^ All servers gave "FAILED 209"+  | ServersDown           -- ^ All servers gave @FAILED 209@   | Unknown String        -- ^ Just in case. Argument contains http response as it is.   deriving (Typeable) @@ -48,7 +77,6 @@   show (InvalidSender s    ) = "You must register this sender from Messente API (" ++ s ++ ")"   show (Unknown       s    ) = "Unknown Messente error: " ++ s --- |All possible delivery states. data Delivery   = Delivered SmsID                 -- ^ Happy final state   | DeliveryError SmsID Int String  -- ^ Negative final state@@ -73,6 +101,7 @@          ] ++ maybe [] (\f -> [("from", f)]) from  -- |Listens delivery reports+-- Takes port number and callback function as arguments. listen :: Int -> (Delivery -> IO ()) -> IO () listen port fn =   withSocketsDo $@@ -110,6 +139,8 @@     q = [ ("username",    apiUser    )         , ("password",    apiPassword)         , ("sms_uniq_id", id         ) ]++------------  doRequest :: [String] -> String -> IO BL.ByteString doRequest [] _ = throw ServersDown
messente.cabal view
@@ -1,5 +1,5 @@ name:   messente-version:  0.1.0.0+version:  0.1.0.1 cabal-Version:  >= 1.8 license:  MIT license-File: LICENSE@@ -9,9 +9,14 @@ category: API synopsis: Messente SMS Gateway build-type: Simple+-- description: ... +source-repository head+  type:     git+  location: https://github.com/kaiko/messente-haskell+ Library-  Build-Depends: base >= 4.6 && <= 4.7, http-conduit >= 2.0 && <=2.1, bytestring == 0.10.*, network == 2.6.*, HTTP == 4000.2.*+  Build-Depends: base > 4.2 && < 5, bytestring >= 0.9, network > 2.2 && < 2.7,  HTTP > 4000.1 && < 4000.3, http-conduit > 2.0 && < 2.2   Exposed-modules:     Messente   Extensions: OverloadedStrings, DeriveDataTypeable