{-# LANGUAGE FlexibleContexts #-} module Network.Nakadi.Examples.Subscription.Process (dumpSubscription) where import ClassyPrelude import Data.Aeson import qualified Network.Nakadi as Nakadi import Network.Nakadi (MonadNakadi) import Control.Monad.Logger dumpSubscription :: (MonadLogger m, MonadNakadi IO m, MonadMask m) => Nakadi.SubscriptionId -> m () dumpSubscription subscriptionId = Nakadi.subscriptionProcess Nothing subscriptionId processBatch where processBatch :: MonadLogger m => Nakadi.SubscriptionEventStreamBatch Value -> m () processBatch batch = logInfoN (tshow batch)