From: Robert Dober Date: 2007-08-10T20:26:58+09:00 Subject: Re: WEBRick: Problem to get the multipart/form-data decoded correctly. ------=_Part_29063_3432862.1186745209843 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I thought I share the outcome of this, a very primitive file server we need for some file transfer for folks caught behind a firewall and a mean Proxy. Only https passes. This might be useful for some low to medium traffic transfers. I will use it on demand only, it is not really tested and there might (there are for sure) some security issues. I have checked the most obvious. Runs on any system you can execute `df -k` in your Ruby code (that part can be commented out if one needs to do so). Hope this might be helpful in case somebody searches the archives for multipart/form-data File upload WEBrick File Server Cheers Robert ------=_Part_29063_3432862.1186745209843 Content-Type: application/x-gzip; name=file-server.rb.gz Content-Transfer-Encoding: base64 X-Attachment-Id: f_f56ldiy5 Content-Disposition: attachment; filename="file-server.rb.gz" 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 L5uZ71EBLQAA ------=_Part_29063_3432862.1186745209843--