
Actually, it blocks on:
putStrLn contents
It even blocks if I replace it with:
print $ length contents
Is there some kind of magic happening here?
-John
On 9/20/06, John Ky
Hello,
I'm trying to use haskell to put together a TCP proxy I can put between my browser and my webserver.
This is as far as I got. The webserver isn't returning my request:
listen = withSocketsDo $ do putStrLn "Listening..." socket <- listenOn $ PortNumber 8082 (handleToClient, hostName, portNumber) <- accept socket putStrLn "Connected to client" contents <- hGetContents handleToClient putStrLn "Received from client:" putStrLn contents handleToServer <- connectTo "127.0.0.1" (PortNumber 8080) putStrLn "Connected to server" hPutStrLn handleToServer contents putStrLn "Waiting for server to respond" hPutStrLn handleToServer "\r\n\r\n" putStrLn "Waiting for server to respond" result <- hGetContents handleToServer putStrLn result hClose handleToServer hClose handleToClient sClose socket
Am I doing something wrong?
Thanks,
-John