servant-client-core
Safe HaskellNone
LanguageHaskell2010

Servant.Client.Core.ServerSentEvents

Description

Server-sent events

See https://www.w3.org/TR/2009/WD-eventsource-20090421/ for more details on server-sent events (SSE).

Synopsis

Documentation

data EventMessage Source #

Structured variant of an event line of an event stream

Constructors

EventDispatch

Dispatch on the accumulated event.

EventSetName ByteString

Set the name of the current event.

EventSetLastId ByteString

Set the last event identifier.

EventData ByteString

Append data to the event's data buffer.

EventRetry Natural

Set the event stream's reconnection time.

EventIgnore EventIgnoreReason

Ignored

Instances

Instances details
Show EventMessage Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Eq EventMessage Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Ord EventMessage Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

(RunClient m, HasClient m (SseClientDelegate method status (EventMessageStreamT IO))) => HasClient m (ServerSentEvents' method status 'RawEvent EventMessage) Source # 
Instance details

Defined in Servant.Client.Core.HasClient

Associated Types

type Client m (ServerSentEvents' method status 'RawEvent EventMessage) 
Instance details

Defined in Servant.Client.Core.HasClient

type Client m (ServerSentEvents' method status 'RawEvent EventMessage)

Methods

clientWithRoute :: Proxy m -> Proxy (ServerSentEvents' method status 'RawEvent EventMessage) -> Request -> Client m (ServerSentEvents' method status 'RawEvent EventMessage) Source #

hoistClientMonad :: Proxy m -> Proxy (ServerSentEvents' method status 'RawEvent EventMessage) -> (forall x. mon x -> mon' x) -> Client mon (ServerSentEvents' method status 'RawEvent EventMessage) -> Client mon' (ServerSentEvents' method status 'RawEvent EventMessage) Source #

type Client m (ServerSentEvents' method status 'RawEvent EventMessage) Source # 
Instance details

Defined in Servant.Client.Core.HasClient

type Client m (ServerSentEvents' method status 'RawEvent EventMessage)

data Event a Source #

Event sent by the remote

Constructors

Event 

Instances

Instances details
Functor Event Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Methods

fmap :: (a -> b) -> Event a -> Event b #

(<$) :: a -> Event b -> Event a #

(RunClient m, HasClient m (SseClientDelegate method status (EventStreamT IO))) => HasClient m (ServerSentEvents' method status 'RawEvent (Event a)) Source # 
Instance details

Defined in Servant.Client.Core.HasClient

Associated Types

type Client m (ServerSentEvents' method status 'RawEvent (Event a)) 
Instance details

Defined in Servant.Client.Core.HasClient

type Client m (ServerSentEvents' method status 'RawEvent (Event a))

Methods

clientWithRoute :: Proxy m -> Proxy (ServerSentEvents' method status 'RawEvent (Event a)) -> Request -> Client m (ServerSentEvents' method status 'RawEvent (Event a)) Source #

hoistClientMonad :: Proxy m -> Proxy (ServerSentEvents' method status 'RawEvent (Event a)) -> (forall x. mon x -> mon' x) -> Client mon (ServerSentEvents' method status 'RawEvent (Event a)) -> Client mon' (ServerSentEvents' method status 'RawEvent (Event a)) Source #

Generic (Event a) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Associated Types

type Rep (Event a) 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

type Rep (Event a) = D1 ('MetaData "Event" "Servant.Client.Core.ServerSentEvents" "servant-client-core-0.20.3.0-inplace" 'False) (C1 ('MetaCons "Event" 'PrefixI 'True) (S1 ('MetaSel ('Just "eventName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ByteString)) :*: S1 ('MetaSel ('Just "eventData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 a)))

Methods

from :: Event a -> Rep (Event a) x #

to :: Rep (Event a) x -> Event a #

Show a => Show (Event a) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Methods

showsPrec :: Int -> Event a -> ShowS #

show :: Event a -> String #

showList :: [Event a] -> ShowS #

Eq a => Eq (Event a) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Methods

(==) :: Event a -> Event a -> Bool #

(/=) :: Event a -> Event a -> Bool #

Ord a => Ord (Event a) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Methods

compare :: Event a -> Event a -> Ordering #

(<) :: Event a -> Event a -> Bool #

(<=) :: Event a -> Event a -> Bool #

(>) :: Event a -> Event a -> Bool #

(>=) :: Event a -> Event a -> Bool #

max :: Event a -> Event a -> Event a #

min :: Event a -> Event a -> Event a #

type Client m (ServerSentEvents' method status 'RawEvent (Event a)) Source # 
Instance details

Defined in Servant.Client.Core.HasClient

type Client m (ServerSentEvents' method status 'RawEvent (Event a))
type Rep (Event a) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

type Rep (Event a) = D1 ('MetaData "Event" "Servant.Client.Core.ServerSentEvents" "servant-client-core-0.20.3.0-inplace" 'False) (C1 ('MetaCons "Event" 'PrefixI 'True) (S1 ('MetaSel ('Just "eventName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ByteString)) :*: S1 ('MetaSel ('Just "eventData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 a)))

newtype EventStreamT (m :: Type -> Type) Source #

Server-sent event stream (SSE)

See https://www.w3.org/TR/2009/WD-eventsource-20090421/ for more details.

Constructors

EventStreamT 

Fields

Instances

Instances details
MonadIO m => FromSourceIO EventStreamChunk (EventStreamT m) Source #

Server-sent events

Instance details

Defined in Servant.Client.Core.ServerSentEvents

Methods

fromSourceIO :: SourceIO EventStreamChunk -> IO (EventStreamT m)

Functor m => Monoid (EventStreamT m) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Functor m => Semigroup (EventStreamT m) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

(Applicative m, Show1 m) => Show (EventStreamT m) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

newtype JsonEventStreamT (m :: Type -> Type) a Source #

Server-sent event stream (SSE) for JSON values

Constructors

JsonEventStreamT 

Fields

Instances

Instances details
(MonadIO m, FromJSON a) => FromSourceIO EventStreamChunk (JsonEventStreamT m a) Source #

Server-sent JSON event stream

Instance details

Defined in Servant.Client.Core.ServerSentEvents

Methods

fromSourceIO :: SourceIO EventStreamChunk -> IO (JsonEventStreamT m a)

Functor m => Functor (JsonEventStreamT m) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Methods

fmap :: (a -> b) -> JsonEventStreamT m a -> JsonEventStreamT m b #

(<$) :: a -> JsonEventStreamT m b -> JsonEventStreamT m a #

Functor m => Monoid (JsonEventStreamT m a) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Functor m => Semigroup (JsonEventStreamT m a) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

(Applicative m, Show1 m, Show a) => Show (JsonEventStreamT m a) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

newtype EventMessageStreamT (m :: Type -> Type) Source #

Server-sent event stream (SSE)

See https://www.w3.org/TR/2009/WD-eventsource-20090421/ for more details.

Constructors

EventMessageStreamT 

Fields

Instances

Instances details
MonadIO m => FromSourceIO EventStreamChunk (EventMessageStreamT m) Source #

Server-sent event messages

EventMessage gives you more control over the communication with the server than Event.

Instance details

Defined in Servant.Client.Core.ServerSentEvents

Methods

fromSourceIO :: SourceIO EventStreamChunk -> IO (EventMessageStreamT m)

Functor m => Monoid (EventMessageStreamT m) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

Functor m => Semigroup (EventMessageStreamT m) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents

(Applicative m, Show1 m) => Show (EventMessageStreamT m) Source # 
Instance details

Defined in Servant.Client.Core.ServerSentEvents