[Mongrel] X-Sendfile doesn't work

Scott Brooks scott at hermitworksentertainment.com
Thu Jan 25 15:30:54 EST 2007


I had a quick look through lib/mongrel/camping.rb and it looks like there is 
some code in the camping handler in order to handle X-Senfile.

The rails handler does not have the same code, so that's probably why you are 
seeing the different results.

Scott Brooks

On Thursday 25 January 2007 10:53 am, Bruno Celeste wrote:
> Thank you Scott.
>
> I'm accessing mongrel directly but I thought that mongrel can use
> X-Sendfile without needing another webserver.
>
> Parkplace (a camping app) uses X-Sendfile via mongrel, so I don't
> understand. Is it possible to do the same thing with rails?
>
> On 1/25/07, Scott Brooks <scott at hermitworksentertainment.com> wrote:
> > On Thursday 25 January 2007 4:38 am, Bruno Celeste wrote:
> > > Hi everyone,
> > >
> > >
> > > I try to use the "X-Sendfile" header, but it doesn't work as expected.
> > >
> > > In my controller:
> > >
> > > path = "/home/bruno/file.tar.gz"
> > > headers['X-Sendfile'] = path
> > > headers['Content-Type'] = "application/octet-stream"
> > > headers['Content-Length'] = File.size(path)
> > > render :nothing => true
> > >
> > > When I request the file, nothing is shown, just a white page. If I do
> > > a HEAD request:
> > >
> > > HTTP/1.1 200 OK
> > > Connection: close
> > > Date: Thu, 25 Jan 2007 11:22:19 GMT
> > > Status: 200 OK
> > > X-Sendfile: /home/bruno/file.tar.gz
> > > Cache-Control: no-cache
> > > Server: Mongrel 1.0.1
> > > Content-Type: application/force-download; charset=utf-8
> > > Content-Length: 1
> > >
> > > The weird thing is the content-length is bad and I think mongrel
> > > should not show the X-Sendfile header. I also tried to add the
> > > content-disposition header but didn't resolve the problem.
> > >
> > > I'm using edge rails and the latest mongrel (I deleted older mongrels)
> > >
> > >
> > > Thank you.
> >
> > X-Sendfile is handled by Apache, or Lighty, etc.  If you are just
> > accessing mongrel directly, then what you are seeing is correct.  If you
> > are accessing mongrel via apache, or some other webserver, then it's
> > handling of X-Sendfile is not setup properly.
> >
> > Scott Brooks
> > _______________________________________________
> > Mongrel-users mailing list
> > Mongrel-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/mongrel-users
>
> _______________________________________________
> Mongrel-users mailing list
> Mongrel-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-users


More information about the Mongrel-users mailing list