imm-1.10.0.0: Execute arbitrary callbacks for each element of RSS/Atom feeds

Safe HaskellNone
LanguageHaskell2010

Imm.Callback

Synopsis

Documentation

data Callback Source #

External program run for each feed element.

Data is passed to that program through standard input (stdin), using Avro (https://hackage.haskell.org/package/avro) serialization format. The data schema is described in file ids/callback.json, provided with this library.

Constructors

Callback 
Instances
Eq Callback Source # 
Instance details

Defined in Imm.Callback

Ord Callback Source # 
Instance details

Defined in Imm.Callback

Read Callback Source # 
Instance details

Defined in Imm.Callback

Show Callback Source # 
Instance details

Defined in Imm.Callback

Generic Callback Source # 
Instance details

Defined in Imm.Callback

Associated Types

type Rep Callback :: Type -> Type #

Methods

from :: Callback -> Rep Callback x #

to :: Rep Callback x -> Callback #

FromDhall Callback Source # 
Instance details

Defined in Imm.Callback

Pretty Callback Source # 
Instance details

Defined in Imm.Callback

Methods

pretty :: Callback -> Doc ann #

prettyList :: [Callback] -> Doc ann #

type Rep Callback Source # 
Instance details

Defined in Imm.Callback

type Rep Callback = D1 (MetaData "Callback" "Imm.Callback" "imm-1.10.0.0-377OdLQgGSoCHB8Qc5Ycpd" False) (C1 (MetaCons "Callback" PrefixI True) (S1 (MetaSel (Just "_executable") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath) :*: S1 (MetaSel (Just "_arguments") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Text])))

serializeMessage :: Feed -> FeedElement -> LByteString Source #

Meant to be called by the main imm process.

deserializeMessage :: MonadFail m => LByteString -> m (Feed, FeedElement) Source #

Meant to be called by callback process.