| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
API
Description
Capability record for the NATS client surface.
Synopsis
- data Client = Client {}
- data MsgView = MsgView {
- subject :: ByteString
- sid :: ByteString
- replyTo :: Maybe ByteString
- payload :: Maybe ByteString
- headers :: Maybe [(ByteString, ByteString)]
- type PublishOption = CallOption PublishConfig
- type SubscribeOption = CallOption SubscribeConfig
- withSubscriptionExpiry :: NominalDiffTime -> SubscribeOption
- withPayload :: Payload -> PublishOption
- withReplyCallback :: (Maybe MsgView -> IO ()) -> PublishOption
- withHeaders :: Headers -> PublishOption
Documentation
Client capabilities for publishing, subscribing, and lifecycle control.
Constructors
| Client | |
Fields
| |
MsgView represents a MSG in the NATS protocol.
Constructors
| MsgView | |
Fields
| |
type PublishOption = CallOption PublishConfig #
type SubscribeOption = CallOption SubscribeConfig #
withSubscriptionExpiry :: NominalDiffTime -> SubscribeOption #
withSubscriptionExpiry sets the reply subscription expiry in seconds. Default: no expiry (reply subscriptions stay open until unsubscribe).
Examples:
{-# LANGUAGE OverloadedStrings #-}
subscribe client "events.created" [withSubscriptionExpiry 2] print
withPayload :: Payload -> PublishOption #
withPayload is used to set the payload for a publish operation. Default: no payload.
Examples:
{-# LANGUAGE OverloadedStrings #-}
publish client "updates" [withPayload "hello"]
withReplyCallback :: (Maybe MsgView -> IO ()) -> PublishOption #
withReplyCallback is used to set a callback for a reply to a publish operation. Default: no reply subscription; publishes are fire-and-forget.
Examples:
{-# LANGUAGE OverloadedStrings #-}
publish client "service.echo" [withReplyCallback print]
withHeaders :: Headers -> PublishOption #
withHeaders is used to set headers for a publish operation. Default: no headers.
Examples:
{-# LANGUAGE OverloadedStrings #-}
publish client "updates" [withHeaders [("source", "test")]]