| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Control.Monad.Twilio
- type Twilio = TwilioT IO
- runTwilio :: Credentials -> Twilio a -> IO a
- runTwilio' :: IO String -> IO String -> Twilio a -> IO a
- newtype TwilioT m a = TwilioT (Monad m => (Credentials, AccountSID) -> RequestT m a)
- runTwilioT :: MonadIO m => Credentials -> TwilioT m a -> m a
- runTwilioT' :: (MonadThrow m, MonadIO m) => m String -> m String -> TwilioT m a -> m a
- type Credentials = (AccountSID, AuthToken)
- data TwilioException
The Twilio monad
type Twilio = TwilioT IO Source #
This monad allows you to make authenticated REST API requests to Twilio
using your AccountSID and AuthToken.
Parse an AccountSID and AuthToken before running zero or more REST API
requests to Twilio.
For example, you can fetch the Calls resource in the IO monad as follows:
module Main where
import Control.Monad.IO.Class (liftIO)
import System.Environment (getEnv)
import Twilio.Calls as Calls
import Twilio.Types
-- | Print calls.
main :: IO ()
main = runTwilio' (getEnv "ACCOUNT_SID")
(getEnv "AUTH_TOKEN")
$ Calls.get >>= liftIO . printThe Twilio monad transformer
This monad transformer allows you to make authenticated REST API requests
to Twilio using your AccountSID and AuthToken.
Constructors
| TwilioT (Monad m => (Credentials, AccountSID) -> RequestT m a) |
Instances
| MonadTrans TwilioT Source # | |
| Monad m => Monad (TwilioT m) Source # | |
| Functor (TwilioT m) Source # | |
| Applicative m => Applicative (TwilioT m) Source # | |
| MonadIO m => MonadIO (TwilioT m) Source # | |
| MonadThrow m => MonadThrow (TwilioT m) Source # | |
| Monad m => MonadRequest (TwilioT m) Source # | |
| (MonadThrow m, Delete1 a) => Delete (a -> TwilioT m ()) Source # | |
| (MonadThrow m, Post3 a b c r) => Post (a -> b -> c -> TwilioT m r) Source # | |
| (MonadThrow m, Post2 a b r) => Post (a -> b -> TwilioT m r) Source # | |
| (MonadThrow m, Post1 a r) => Post (a -> TwilioT m r) Source # | |
| (MonadThrow m, Post0 r) => Post (TwilioT m r) Source # | |
| (MonadThrow m, Get2 a b r) => Get (a -> b -> TwilioT m r) Source # | |
| (MonadThrow m, Get1 a r) => Get (a -> TwilioT m r) Source # | |
| (MonadThrow m, Get0 r) => Get (TwilioT m r) Source # | |
| Monad m => MonadReader (Credentials, AccountSID) (TwilioT m) Source # | |
runTwilioT :: MonadIO m => Credentials -> TwilioT m a -> m a Source #
Run zero or more REST API requests to Twilio, unwrapping the inner monad
m.
Arguments
| :: (MonadThrow m, MonadIO m) | |
| => m String | Account SID |
| -> m String | Authentication Token |
| -> TwilioT m a | |
| -> m a |
Parse an AccountSID and AuthToken before running zero or more REST API
requests to Twilio, unwrapping the inner monad m.
Types
type Credentials = (AccountSID, AuthToken) Source #
Your AccountSID and AuthToken are used to make authenticated REST API
requests to Twilio.
data TwilioException Source #
The set of Exceptions that may be thrown when attempting to make
requests against Twilio's REST API.
Constructors
| InvalidSID !Text | |
| InvalidAuthToken !Text | |
| InvalidCredentials | |
| UnexpectedResponse !(Response ByteString) |
Instances