calamity-0.1.4.3: A library for writing discord bots
Safe HaskellNone
LanguageHaskell2010

Calamity.HTTP.Internal.Request

Description

Generic Request type

Documentation

class Request a r | a -> r where Source #

Minimal complete definition

toRoute, toAction

Methods

toRoute :: a -> Route Source #

url :: a -> String Source #

toAction :: a -> Options -> String -> IO (Response ByteString) Source #

invokeRequest :: forall reffs. (BotC reffs, FromJSON r) => a -> Sem reffs (Either RestError r) Source #

Instances

Instances details
Request (UserRequest a) a Source # 
Instance details

Defined in Calamity.HTTP.User

Methods

toRoute :: UserRequest a -> Route Source #

url :: UserRequest a -> String Source #

toAction :: UserRequest a -> Options -> String -> IO (Response ByteString) Source #

invokeRequest :: forall (reffs :: [(Type -> Type) -> Type -> Type]). (BotC reffs, FromJSON a) => UserRequest a -> Sem reffs (Either RestError a) Source #

Request (MiscRequest a) a Source # 
Instance details

Defined in Calamity.HTTP.MiscRoutes

Methods

toRoute :: MiscRequest a -> Route Source #

url :: MiscRequest a -> String Source #

toAction :: MiscRequest a -> Options -> String -> IO (Response ByteString) Source #

invokeRequest :: forall (reffs :: [(Type -> Type) -> Type -> Type]). (BotC reffs, FromJSON a) => MiscRequest a -> Sem reffs (Either RestError a) Source #

Request (InviteRequest a) a Source # 
Instance details

Defined in Calamity.HTTP.Invite

Methods

toRoute :: InviteRequest a -> Route Source #

url :: InviteRequest a -> String Source #

toAction :: InviteRequest a -> Options -> String -> IO (Response ByteString) Source #

invokeRequest :: forall (reffs :: [(Type -> Type) -> Type -> Type]). (BotC reffs, FromJSON a) => InviteRequest a -> Sem reffs (Either RestError a) Source #

Request (GuildRequest a) a Source # 
Instance details

Defined in Calamity.HTTP.Guild

Methods

toRoute :: GuildRequest a -> Route Source #

url :: GuildRequest a -> String Source #

toAction :: GuildRequest a -> Options -> String -> IO (Response ByteString) Source #

invokeRequest :: forall (reffs :: [(Type -> Type) -> Type -> Type]). (BotC reffs, FromJSON a) => GuildRequest a -> Sem reffs (Either RestError a) Source #

Request (EmojiRequest a) a Source # 
Instance details

Defined in Calamity.HTTP.Emoji

Methods

toRoute :: EmojiRequest a -> Route Source #

url :: EmojiRequest a -> String Source #

toAction :: EmojiRequest a -> Options -> String -> IO (Response ByteString) Source #

invokeRequest :: forall (reffs :: [(Type -> Type) -> Type -> Type]). (BotC reffs, FromJSON a) => EmojiRequest a -> Sem reffs (Either RestError a) Source #

Request (ChannelRequest a) a Source # 
Instance details

Defined in Calamity.HTTP.Channel

Methods

toRoute :: ChannelRequest a -> Route Source #

url :: ChannelRequest a -> String Source #

toAction :: ChannelRequest a -> Options -> String -> IO (Response ByteString) Source #

invokeRequest :: forall (reffs :: [(Type -> Type) -> Type -> Type]). (BotC reffs, FromJSON a) => ChannelRequest a -> Sem reffs (Either RestError a) Source #

postWith' :: Postable a => a -> Options -> String -> IO (Response ByteString) Source #

putWith' :: Putable a => a -> Options -> String -> IO (Response ByteString) Source #

patchWith' :: Patchable a => a -> Options -> String -> IO (Response ByteString) Source #

putEmpty :: Options -> String -> IO (Response ByteString) Source #

putEmptyP :: (Options -> Options) -> Options -> String -> IO (Response ByteString) Source #

postEmpty :: Options -> String -> IO (Response ByteString) Source #

postEmptyP :: (Options -> Options) -> Options -> String -> IO (Response ByteString) Source #

getWithP :: (Options -> Options) -> Options -> String -> IO (Response ByteString) Source #