On Wed, 2012-03-21 at 13:53 +0100, tonthon wrote: > Hi, > > I'm struggling with a lightweight application I wrote for internal use > in our company ( https://github.com/tonthon/etherpaddy ). > > I encounter encoding errors while using it behind apache mod_wsgi. > > I've got the following route configured : > config.add_route("pad", "/pads/{padid}") > > When making an ajaxcall on /pads/t%C3%A9st > and calling > """ > request.matchdict.get('padid') > """ > > from inside my view, I obtain : > """ > u't\\xe9st' > """ > That problem doesn't appear using the paster pserve command, but only > behind apache mod_wsgi. > > After some inspection > The resulting environ['PATH_INFO'] is /pads/t\\xc3\\xa9st (in place of > /pads/t\xc3\xa9st) backslashes are added. > > So, in pyramid.traversal when pyramid converts it to unicode using the > decode_path_info, I get this wrong padid (u't\\xe9st'). > > Is there any way to solve this problem and get the expected value (other > than avoiding the use of url-to-be-escaped characters) ?
I'm not sure. Since this problem happens only when behind mod_wsgi, I'm apt to suggest to you to try it with a simple "raw" WSGI application behind mod_wsgi instead of Pyramid and see if you can repeat it there. If so, then you'll need to work out why mod_wsgi is incorrectly munging PATH_INFO. - C -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
