Just a follow up. I changed all occurences of HTTPFound to HTTPSeeOther and redeployed to appengine. And now iphones and ipads accessing the application via Telstra 3G network now behave correctly.
So I think I am correct in my interpretation and resolution. If people agree I will supply a patch (oops I haven't check repoze.who 2.x to see if its already been done there.) Tim On Mon, Sep 13, 2010 at 1:39 PM, Tim Hoffman <zutes...@gmail.com> wrote: > Hi > > I have run into a bit of a weird problem. > > I am using repoze.who successfully on appengine (not really relevant > ;-) and did some testing recently of the application > on an iphone4 on telstra's 3G network, and login's stopped working. > > (previous testing was on various other 3G and conventional ISP, with > normal browsers, iphone, ipad and android) > > On Telstra3G network we have found that on successful login repoze.who > (1.0.18) does a HTTPFound(came_from) to send you to the page/url > which is your planned destination. paste (1.7.2) HTTPFound returns > http status 302. And on all networks I had tried to date it works > fine > but on telstra we actually get served the original login form which > was the original result of the inital failed page request > > To help illustrate step by step what happens with repoze.who > redirecting form plugin. > > Start out not logged in > > goto url -> /home - get a 302 response with location > /login?came_from=/home as we are not logged > > browser loads -> /login?came_from=/home user logs in with a POST, and > redirecting form now sends 302 with location /home (See line 191 > who/plugins/form.py) > > iphone/ipad now tries to get -> /home and telstra serves up the > cached previous response for /home which is /login?came_from=/home > > Which is not what I expected ;-) > > However having a read up on 302 status on wikipedia it suggests that > in fact if adhering to the letter of the law a 303 response > should actually be returned by redirecting form plugin. So maybe > telstra is doing the right thing. The wikipedia article on 302 > suggests the use 303 behaviour for 302 is a common pattern. > > http://en.wikipedia.org/wiki/HTTP_302 and > http://en.wikipedia.org/wiki/HTTP_303 > > So I think the redirecting form plugin for repoze.who should in fact > be using HTTPSeeOther paste exception rather than HTTPFound. > > Does any one agree with my interpretation of whats going on ? > Comments welcome ? > > Regards > > Tim Hoffman > _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev