X-Git-Url: http://www.average.org/gitweb/?p=pdns-pipe-nmc.git;a=blobdiff_plain;f=Data%2FJsonRpcClient.hs;h=6038695359b83a0131d96bf0219a13a976e043ce;hp=cf23d54a2046bdc3ca62c65bf8254e3dcc77ae5b;hb=3d8f1365ed65330c2dca645df383eac050bae915;hpb=5814aa33eb4b29fbfb95333d8dcbaf991e6d0d10 diff --git a/Data/JsonRpcClient.hs b/Data/JsonRpcClient.hs index cf23d54..6038695 100644 --- a/Data/JsonRpcClient.hs +++ b/Data/JsonRpcClient.hs @@ -1,8 +1,8 @@ {-# LANGUAGE OverloadedStrings #-} -module JsonRpcClient +module Data.JsonRpcClient ( JsonRpcVersion(JsonRpcV1, JsonRpcV2) - , JsonRpcRequest + , JsonRpcRequest(..) , JsonRpcNotification , JsonRpcError(..) , parseJsonRpc @@ -46,9 +46,9 @@ data JsonRpcError = JsonRpcError { jrpcErrCode :: Int } deriving (Show) instance FromJSON JsonRpcError where parseJSON (Object o) = JsonRpcError - <$> o .: "code" - <*> o .: "error" - <*> o .: "data" + <$> o .: "code" + <*> o .: "message" + <*> o .:? "data" parseJSON x = return $ JsonRpcError (-32600) "Unparseable error object" @@ -60,9 +60,9 @@ data JsonRpcResponse = JsonRpcResponse { jrpcRspResult :: Maybe Value } deriving (Show) instance FromJSON JsonRpcResponse where parseJSON (Object o) = JsonRpcResponse - <$> o .: "result" - <*> o .: "error" - <*> o .: "id" + <$> o .:? "result" + <*> o .: "error" + <*> o .: "id" parseJSON x = return $ JsonRpcResponse Nothing (JsonRpcError