From: Claes W. <kl...@hy...> - 2005-09-26 13:20:11
|
Thinus Pollard wrote: > Hi there > > We're sending an http request to yaws. See (1). The request contains a string > called ussdString. This string is a uuencoded string > > ussdString="*116*111*AAEGAGQAABEzAABgNIUgAABRdNAABYcAAAAAAAAAgQ6+8zh0D9iBDr7zOHQP2A==1#" > > Yaws captures this data via script (2). > > In our logs we get the string as: > ussdString=\"*116*111*AAEGAGQAABEzAABgNIUgAABWEtAABYcAAAAAAAAAgQ6<space>8zh0D9iBDr7zOHQP2A==1#\" > > What's happing is that yaws is dropping the '+' character from our string and > inserting a space (verified as ascii code 32 (decimal)) in its place. > > The tcpdump confirms that the message is sent correctly to yaws. After getting > the data from the http request in yaws we get this character replacement. > > Is this a bug in yaws, or is the + character something special? It's the call to parse_post which does this. It's intended and highly desired behaviour. You're best workaround if you want to handle data which is not decode by yaws is to parse Arg#arg.clidata yourselves. All data, sent from the client is kept there, untouched. /klacke |