Hello, I&#39;m having a lot of trouble sending binary files through a socket (I&#39;m trying to program a very minimalistic webserver) but I just can&#39;t find a way to read and send binary files, even though, plain text and html documents are sent correctly.<br>
<br>My code looks something like this:<br><br>sendResource handle name = <br>&nbsp;&nbsp;&nbsp; do exist &lt;- doesFileExist name <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isFile &lt;- liftM not (doesDirectoryExist name)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if exist &amp;&amp; isFile <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then do resource &lt;- Data.ByteString.readFile name<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hPutStr handle (header ++ fileType ++ &quot;\n&quot;) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hSetBinaryMode handle True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hPutStr handle resource<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else do hPutStr handle page404<br>&nbsp;&nbsp;&nbsp; where fileType = maybe (&quot;text/plain&quot;) (flip const []) <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (lookup (takeExtension name) extensions)<br><br>Thanks for your help in advance.<br><br>PS: Yes, I&#39;m terribly newbie to Haskell.<br>