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
Jason E. Sibre
2004-08-28
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
>


reply