diff options
Diffstat (limited to 'src/Remote/KRPC.hs')
-rw-r--r-- | src/Remote/KRPC.hs | 8 |
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 | |||
30 | import Data.List as L | 30 | import Data.List as L |
31 | import Data.Map as M | 31 | import Data.Map as M |
32 | import Data.Set as S | 32 | import Data.Set as S |
33 | import Data.Text as T | ||
34 | import Data.Text.Encoding as T | ||
35 | import Data.Typeable | 33 | import Data.Typeable |
36 | import Network | 34 | import 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) | |||
151 | server servport handlers = do | 149 | server 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 |