ribosome-host-0.9.9.9: lib/Ribosome/Host/Data/Response.hs
module Ribosome.Host.Data.Response where
import Data.MessagePack (Object)
import Exon (exon)
import Ribosome.Host.Data.Request (RequestId (RequestId))
data Response =
Success Object
|
Error Text
deriving stock (Eq, Show)
formatResponse :: Response -> Text
formatResponse = \case
Success o -> show o
Error e -> [exon|error: #{e}|]
data TrackedResponse =
TrackedResponse {
id :: RequestId,
payload :: Response
}
deriving stock (Eq, Show)
formatTrackedResponse :: TrackedResponse -> Text
formatTrackedResponse (TrackedResponse (RequestId i) payload) =
[exon|<#{show i}> #{formatResponse payload}|]