Sebastjan Trepca
trepca at gmail.com
Sat Dec 10 06:51:17 EST 2005
Ok :) Just didn't want to import whole module because of a constant. Btw, what is the difference between OK and DONE? I understand that DONE will stop Apache to go processing further, but where further can it go? I mean what is processed after the request handler ? Sebastjan On 10/12/05, Graham Dumpleton <grahamd at dscpl.com.au> wrote: > Which version of mod_python are you using? > > On 08/12/2005, at 12:14 AM, Sebastjan Trepca wrote: > > > Hi, > > > > I'm writing a proxy handler which makes a request to a different page > > and retrieves its content and headers. This is the source: > > > > import urllib2 > > from mod_python import util > > > > def handler(req): > > req.headers_out.clear() > > f = util.FieldStorage(req) > > url = f.get('url',None) > > if(url): > > url=url.split('?') > > if(len(url)>1): > > u = url[0] > > p = url[1] > > ureq = urllib2.Request(u,p) > > else: > > u = url[0] > > ureq = urllib2.Request(u) > > for h in req.headers_in: > > ureq.add_header(h,req.headers_in[h]) > > r = urllib2.urlopen(ureq) > > for h in r.headers: > > req.headers_out[h]=r.headers[h] > > data = r.read() > > In case you are using mod_python 2.7.X, add at this point: > > req.send_http_header() > > > req.write(data) > > return 0#-2 doesn't help either > > return 0 > > Will not make a difference, but don't return 0/2, use apache.OK/ > apache.DONE > instead. Using literal integer values is bad programming practice. > > > But this seems to have problems with headers, I get back basic headers > > from my Apache server, which is wrong of course. > > Any ideas why is this happening? > > Graham >
|