Sounds like a bug in the proxy to me then -- I'll look into it. It probably manifests itself in other places as well if it's happening here.
On Thu, Feb 21, 2008 at 9:25 AM, Cassie <[EMAIL PROTECTED]> wrote: > I was doing a normal POST type request. This added the correct content > header just a few lines above the code I changed in io.js: > > headers[*"Content-Type"*] = *"application/x-www-form-urlencoded"*; > > > This content header was then being escaped, which caused the / char to get > translated. This caused an exception on the server saying the header > content > could not be recognized. I am completely up for a different way to fix it > if > you have one though. > > Also, if you are concerned about the spec I could change this so there are > two methods, encodeValues and encodeValuesWithoutEscaping (or something, > you > get the idea) that both use a third helper method to eliminate > duplication. > I can make that refactoring if the solution that is in the code seems > valid. > > > Thanks. > > - Cassie > > > On Wed, Feb 20, 2008 at 7:17 PM, Kevin Brown <[EMAIL PROTECTED]> wrote: > > > I'm not sure I follow here -- we already decode headers on the server. > Not > > encoding them cause problems (any = or & in headers will break this; & > is > > not common in headers, but = is). I'm also not really keen on adding a > > parameter (even an optional one) to a method that is in the spec. It > might > > cause misuse that we'll have to address in the future. > > > > What headers were you trying to send that the proxy wasn't passing > > through? > > It sounds like there might be a bug in the proxy, not gadgets.io. > > > > On Wed, Feb 20, 2008 at 7:06 PM, <[EMAIL PROTECTED]> wrote: > > > > > Author: doll > > > Date: Wed Feb 20 19:06:33 2008 > > > New Revision: 629680 > > > > > > URL: http://svn.apache.org/viewvc?rev=629680&view=rev > > > Log: > > > Fix for io.js : header params are no longer escaped which enables > posts > > to > > > work. Also added hasOwnProperty to caja-proof the code. > > > > > > > > > Modified: > > > incubator/shindig/trunk/features/core.io/io.js > > > > > > Modified: incubator/shindig/trunk/features/core.io/io.js > > > URL: > > > > > > http://svn.apache.org/viewvc/incubator/shindig/trunk/features/core.io/io.js?rev=629680&r1=629679&r2=629680&view=diff > > > > > > > > > ============================================================================== > > > --- incubator/shindig/trunk/features/core.io/io.js (original) > > > +++ incubator/shindig/trunk/features/core.io/io.js Wed Feb 20 19:06:33 > > > 2008 > > > @@ -184,7 +184,7 @@ > > > var postData = { > > > url: url, > > > httpMethod : params.METHOD || "GET", > > > - headers: gadgets.io.encodeValues(headers), > > > + headers: gadgets.io.encodeValues(headers, false), > > > postData : params.POST_DATA || "", > > > authz : auth || "", > > > st : st || "" > > > @@ -197,22 +197,26 @@ > > > * (key=value&...) > > > * > > > * @param {Object} fields The post fields you wish to encode > > > + * @param {Boolean} opt_noEscaping An optional parameter > specifying > > > whether > > > + * to turn off escaping of the parameters. Defaults to false. > > > * @return {String} The processed post data in www-form-urlencoded > > > format. > > > * > > > * @member gadgets.io > > > */ > > > - encodeValues : function (fields) { > > > + encodeValues : function (fields, opt_noEscaping) { > > > + var escape = !opt_noEscaping; > > > + > > > var buf = []; > > > var first = false; > > > - for (var i in fields) { > > > + for (var i in fields) if (fields.hasOwnProperty(i)) { > > > if (!first) { > > > first = true; > > > } else { > > > buf.push("&"); > > > } > > > - buf.push(encodeURIComponent(i)); > > > + buf.push(escape ? encodeURIComponent(i) : i); > > > buf.push("="); > > > - buf.push(encodeURIComponent(fields[i])); > > > + buf.push(escape ? encodeURIComponent(fields[i]) : fields[i]); > > > } > > > return buf.join(""); > > > }, > > > > > > > > > > > > > > > -- > > ~Kevin > > > > If you received this email by mistake, please delete it, cancel your > mail > > account, destroy your hard drive, silence any witnesses, and burn down > the > > building that you're in. > > > -- ~Kevin If you received this email by mistake, please delete it, cancel your mail account, destroy your hard drive, silence any witnesses, and burn down the building that you're in.

