1 | module Pact.API.MimeRender
3 | import Pact.API.Accept
9 | interface Accept ctype => MimeRender ctype a where
11 | mimeRender : a -> String
16 | implementation MimeRender PlainTextAccept String where
20 | implementation ToJSON a => MimeRender JSONAccept a where
25 | interface Accept ctype => MimeUnrender ctype a where
27 | mimeUnrender : String -> Either String a
32 | implementation MimeUnrender PlainTextAccept String where
33 | mimeUnrender = Right
37 | implementation FromJSON a => MimeUnrender JSONAccept a where
38 | mimeUnrender = either (Left . show) Right . decode