Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type PagerDuty s = PagerDutyT s IO
- data PagerDutyT s m a
- runPagerDutyT :: PagerDutyT s m a -> Env s -> m (Either Error a)
- data Env s
- envDomain :: forall s. Lens' (Env s) SubDomain
- envAuth :: forall s s'. Lens (Env s) (Env s') (Auth s) (Auth s')
- envManager :: forall s. Lens' (Env s) Manager
- envLogger :: forall s. Lens' (Env s) Logger
- scoped :: MonadReader (Env s) m => (Env s -> m a) -> m a
- data Logger
- debug :: MonadIO m => Logger -> Text -> m ()
- submit :: (MonadIO m, MonadReader (Env s) m, MonadError Error m) => Event -> m Response
- submitCatch :: (MonadIO m, MonadReader (Env s) m) => Event -> m (Either Error Response)
- send :: (MonadIO m, MonadReader (Env s) m, MonadError Error m, FromJSON b) => Request a s b -> m b
- sendCatch :: (MonadIO m, MonadReader (Env s) m, FromJSON b) => Request a s b -> m (Either Error b)
- paginate :: (MonadIO m, MonadReader (Env s) m, MonadError Error m, Paginate a, FromJSON b) => Request a s b -> Source m b
- paginateCatch :: (MonadIO m, MonadReader (Env s) m, Paginate a, FromJSON b) => Request a s b -> Source m (Either Error b)
- data Error
- = Internal Text
- | Integration IntegrationError
- | REST RESTError
- _Internal :: Prism' Error Text
- _Integration :: Prism' Error IntegrationError
- _REST :: Prism' Error RESTError
- data IntegrationError
- status :: Lens' IntegrationError Text
- data RESTError
- code :: Lens' RESTError Code
- newtype Code = Code Integer
- description :: Code -> Text
- message :: HasMessage s a => Lens' s a
- errors :: HasErrors s a => Lens' s a
- hoistError :: MonadError Error m => Either Error a -> m a
Transformer
type PagerDuty s = PagerDutyT s IO Source
A convenient alias for PagerDutyT
IO
.
data PagerDutyT s m a Source
Monad m => MonadError Error (PagerDutyT s m) | |
MonadBaseControl b m => MonadBaseControl b (PagerDutyT s m) | |
MonadBase b m => MonadBase b (PagerDutyT s m) | |
MonadTrans (PagerDutyT s) | |
MonadTransControl (PagerDutyT s) | |
MMonad (PagerDutyT s) | |
MFunctor (PagerDutyT s) | |
Monad m => MonadReader (Env s) (PagerDutyT s m) | |
Monad m => Monad (PagerDutyT s m) | |
Functor m => Functor (PagerDutyT s m) | |
(Monad m, Functor m) => Applicative (PagerDutyT s m) | |
MonadIO m => MonadIO (PagerDutyT s m) | |
MonadThrow m => MonadThrow (PagerDutyT s m) | |
MonadCatch m => MonadCatch (PagerDutyT s m) | |
data StT (PagerDutyT s) = StTPDT {} | |
data StM (PagerDutyT s m) = StMPDT {
|
Running
runPagerDutyT :: PagerDutyT s m a -> Env s -> m (Either Error a) Source
Configuration
Environment
The environment containing the parameters required to make PagerDuty requests.
Monad m => MonadReader (Env s) (PagerDutyT s m) |
envManager :: forall s. Lens' (Env s) Manager Source
Logging
debug :: MonadIO m => Logger -> Text -> m () Source
Log a message using the debug logger, or if none is specified noop.
Integration events
REST requests
send :: (MonadIO m, MonadReader (Env s) m, MonadError Error m, FromJSON b) => Request a s b -> m b Source
sendCatch :: (MonadIO m, MonadReader (Env s) m, FromJSON b) => Request a s b -> m (Either Error b) Source
paginate :: (MonadIO m, MonadReader (Env s) m, MonadError Error m, Paginate a, FromJSON b) => Request a s b -> Source m b Source
paginateCatch :: (MonadIO m, MonadReader (Env s) m, Paginate a, FromJSON b) => Request a s b -> Source m (Either Error b) Source
Errors
_Integration :: Prism' Error IntegrationError Source
Integration
data IntegrationError Source
Eq IntegrationError | |
Show IntegrationError | |
ToJSON IntegrationError | |
FromJSON IntegrationError |
status :: Lens' IntegrationError Text Source
REST
code :: Lens' RESTError Code Source
In the case of an error, the PagerDuty error code can give further details on the nature of the error.
See: description
Code
description :: Code -> Text Source
Fields
errors :: HasErrors s a => Lens' s a Source
A list of human-readable reasons for the error. These values, and even their format, are subject to change.
Lifting
hoistError :: MonadError Error m => Either Error a -> m a Source