[mod_python] How check permissions to GET JPG image

Mike Looijmans nlv11281 at natlab.research.philips.com
Tue Dec 6 08:34:13 EST 2005


>>>When I use req.sendfile() all works exept for download resume. After
>>>download stops at middle, resume is impossibe. Error in download
>>>manager when trying resume.
> 
> ML> You will probably have to implement the HTTP/1.1 "Range" header. Is not
> ML> hard to program, but will take a little finger typing. Find the HTTP RFC
> ML> 2616, and look for "Range".
> 
> How i can access HTTP/1.1 "Range" header from mod_python? I found
> nothing about "Range" header. "req.range" always "None",
> "req.headers_out" do nothing at least when using with
> "req.sendfile()".
> As i understand, Apache or rewrite header when using "req.sendfile()".
> And this is main problem.

The Range header is sent by the client, so it will be in headers_in (not 
in headers-out, which is what the client will receive from you).

You must read the RFC2616 documentation and implement what is described 
there. I'm sorry, there's no free lunch.

But before doing so, verify that your "download manager" is actually 
using that header. One way to do so is to abort a download, attempt a 
resume and see what gets sent to the server (have your python script 
dump the headers_in to a text file or so). If there's no "Range" in the 
headers, implementing it will not help you solve your problem.

The range header normally specifies what the client wants, so you can 
set up a correct response (read the RFC!) open the file, seek to the 
requested position (using file.seek(..)) and start sending from there.



More information about the Mod_python mailing list