summaryrefslogtreecommitdiff
path: root/src/Remote/KRPC.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Remote/KRPC.hs')
-rw-r--r--src/Remote/KRPC.hs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/Remote/KRPC.hs b/src/Remote/KRPC.hs
index 719b9a25..fcfdf6bf 100644
--- a/src/Remote/KRPC.hs
+++ b/src/Remote/KRPC.hs
@@ -30,8 +30,6 @@ import Data.ByteString.Char8 as BC
30import Data.List as L 30import Data.List as L
31import Data.Map as M 31import Data.Map as M
32import Data.Set as S 32import Data.Set as S
33import Data.Text as T
34import Data.Text.Encoding as T
35import Data.Typeable 33import Data.Typeable
36import Network 34import Network
37 35
@@ -77,7 +75,7 @@ getResult sock addr m = do
77 Right (respVals -> dict) -> do 75 Right (respVals -> dict) -> do
78 case extractArgs (methodVals m) dict >>= extractor of 76 case extractArgs (methodVals m) dict >>= extractor of
79 Right vals -> return vals 77 Right vals -> return vals
80 Left e -> throw (RPCException (ProtocolError (T.pack e))) 78 Left e -> throw (RPCException (ProtocolError (BC.pack e)))
81 79
82-- TODO async call 80-- TODO async call
83-- | Makes remote procedure call. Throws RPCException if server 81-- | Makes remote procedure call. Throws RPCException if server
@@ -135,7 +133,7 @@ m ==> body = (methodName m, newbody)
135 {-# INLINE newbody #-} 133 {-# INLINE newbody #-}
136 newbody q = 134 newbody q =
137 case extractArgs (methodParams m) (queryArgs q) >>= extractor of 135 case extractArgs (methodParams m) (queryArgs q) >>= extractor of
138 Left e -> return (Left (ProtocolError (T.pack e))) 136 Left e -> return (Left (ProtocolError (BC.pack e)))
139 Right a -> do 137 Right a -> do
140 r <- body a 138 r <- body a
141 return (Right (kresponse (mkVals (methodVals m) (injector r)))) 139 return (Right (kresponse (mkVals (methodVals m) (injector r))))
@@ -151,7 +149,7 @@ server :: (MonadBaseControl IO remote, MonadIO remote)
151server servport handlers = do 149server servport handlers = do
152 remoteServer servport $ \_ q -> do 150 remoteServer servport $ \_ q -> do
153 case dispatch (queryMethod q) of 151 case dispatch (queryMethod q) of
154 Nothing -> return $ Left $ MethodUnknown (decodeUtf8 (queryMethod q)) 152 Nothing -> return $ Left $ MethodUnknown (queryMethod q)
155 Just m -> invoke m q 153 Just m -> invoke m q
156 where 154 where
157 handlerMap = M.fromList handlers 155 handlerMap = M.fromList handlers