durusmail: quixote-users: wierd TypeError caused by http_request.get_header
wierd TypeError caused by http_request.get_header
2004-08-28
2004-08-28
2004-08-30
2004-08-30
2004-08-30
Setting cookies while redirecting
2004-08-31
2004-08-31
2004-08-31
2004-08-31
2004-08-31
2004-08-31
2004-09-01
2004-09-03
2004-09-06
2004-09-06
2004-09-06
2004-08-31
wierd TypeError caused by http_request.get_header
Bruce Wang
2004-08-30
But the error is actually caused by request.get_header('referer'), it
was there even if i removed the redirect statement

According to the doc string,  request.get_header('referer') is equal
to request.get_header('HTTP_REFERER')

On Sat, 28 Aug 2004 16:17:54 -0500, Jason E. Sibre  wrote:
> Um... Not sure if I'm on the right track or not, but could it be that the
> header 'referer' does not exist, and the 'unsubscriptable object' to which
> the TypeError refers is the None that is being returned from
> .get_header('referer')?
>
> A look at the code does indicate that if "HTTP_REFERER" exists, "referer"
> should also [appear to] exist.  However, and my apologies if I'm stating the
> obvious, the referer header is not always there; it's only there if the
> client (browser, usually) provides it.  Typically, if the person using the
> browser accesses a URL by typing it into the address bar, or using a
> Favorite/Bookmark, that header won't be sent.  It will be present (again
> assuming the client is working right) if the person gets there via a link,
> or a form submission.  I don't know how browsers handle that header in the
> context of a redirect (Does it re-provide the Referer it sent when it
> received the redirect?  Does it provide the url that resulted in a redirect?
> Does it provide nothing?  I don't know).
>
> Either way, I would definitely check the result of your call to
> request.get_header('referer') or request.get_header('HTTP_REFERER') to be
> sure you get a string back, because you just can't safely expect it to be
> there, and .redirect() doesn't like non-strings. :)
>
> Jason
>
>
>
>
> > -----Original Message-----
> > From: quixote-users-bounces@mems-exchange.org
> > [mailto:quixote-users-bounces@mems-exchange.org]On Behalf Of Bruce Wang
> > Sent: Saturday, August 28, 2004 12:09 AM
> > To: quixote-users@mems-exchange.org
> > Subject: [Quixote-users] wierd TypeError caused by
> > http_request.get_header
> >
> >
> > I was trying to redirect back to referer in a ptl, then got a TypeError
> > When I change it to "request.get_header("HTTP_REFERER") ",
> > everything is fine
> >
> > Any idea?
> >
> >
> > Traceback (most recent call last):
> >   File "/usr/lib/python2.3/site-packages/quixote/publish.py", line
> > 522, in process_request
> >   File "/usr/lib/python2.3/site-packages/quixote/publish.py", line
> > 457, in try_publish
> >   File "/home/bruce/sandbox/falco/ui/results_ui.ptl", line 33, in first
> >     return request.redirect(request.get_header('referer'))
> >   File "/usr/lib/python2.3/site-packages/quixote/http_request.py",
> > line 181, in get_header
> > TypeError: unsubscriptable object
> >
> >
> > --
> > simple is good
> > _______________________________________________
> > Quixote-users mailing list
> > Quixote-users@mems-exchange.org
> > http://mail.mems-exchange.org/mailman/listinfo/quixote-users
> >
>
>


--
simple is good

reply