| module Server where | 
 | import Thrift | 
 | import ThriftTest | 
 | import ThriftTest_Iface | 
 | import Data.Map as Map | 
 | import TServer | 
 | import Control.Exception | 
 | import ThriftTest_Types | 
 |  | 
 |  | 
 | data TestHandler = TestHandler | 
 | instance ThriftTest_Iface TestHandler where | 
 |     testVoid a = return () | 
 |     testString a (Just s) = do print s; return s | 
 |     testByte a (Just x) = do print x; return x | 
 |     testI32 a (Just x) = do print x; return x | 
 |     testI64 a (Just x) = do print x; return x | 
 |     testDouble a (Just x) = do print x; return x | 
 |     testStruct a (Just x) = do print x; return x | 
 |     testNest a (Just x) = do print x; return x | 
 |     testMap a (Just x) = do print x; return x | 
 |     testSet a (Just x) = do print x; return x | 
 |     testList a (Just x) = do print x; return x | 
 |     testEnum a (Just x) = do print x; return x | 
 |     testTypedef a (Just x) = do print x; return x | 
 |     testMapMap a (Just x) = return (Map.fromList [(1,Map.fromList [(2,2)])]) | 
 |     testInsanity a (Just x) = return (Map.fromList [(1,Map.fromList [(ONE,x)])]) | 
 |     testMulti a a1 a2 a3 a4 a5 a6 = return (Xtruct Nothing Nothing Nothing Nothing) | 
 |     testException a c = throwDyn (Xception (Just 1) (Just "bya")) | 
 |     testMultiException a c1 c2 = return (Xtruct Nothing Nothing Nothing Nothing) | 
 |  | 
 |  | 
 | main = do (run_basic_server TestHandler process 9090) `catchDyn` (\(TransportExn s t) -> print s) |