You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by "Brent Theisen (JIRA)" <ji...@apache.org> on 2009/02/18 23:32:01 UTC

[jira] Updated: (SHINDIG-928) URL encoding for makeRequest HTTP GET requests not preserved

     [ https://issues.apache.org/jira/browse/SHINDIG-928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brent Theisen updated SHINDIG-928:
----------------------------------

    Description: 
I'm calling makeRequest like so...

var params = { };
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;

gadgets.io.makeRequest(
    "http://local.api.madison.com/article/v1/search.json?tags=Local+News&limit=5&hasImages=1", function(response) {
      // Omitted
    }, params);


The callback never gets invoked and I traced the JS to an error in io.js line 122 (rev 739404) that does, "data = data[url];".  The reason for the error is that the "+" in the URL has been decoded up on the server side to just a space and never got re-encoded.  Also, when the server side shindig code attempts to proxy the request with curl it uses a space instead of a + so the URL more or less gets truncated.

I know this was working late last week so it might have been a recently introduced bug in the trunk.  I tried some previous revisions of shindig with the gadget that makes this particular makeRequest() call and found that it broke beginning with revision 744702.  With 744702 the gadget doesn't render at all and I get a debug iframe saying, "Invalid view specified for this gadget".  With the next revision (744733), I get the same behavior I described above.  So I guess this bug was introduced with revision 744702.

  was:
I'm calling makeRequest like so...

var params = { };
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;

gadgets.io.makeRequest(
    "http://local.api.madison.com/article/v1/search.json?tags=Local+News&limit=5&hasImages=1", function(response) {
      // Omitted
    }, params);


The callback never gets invoked and I traced the JS to an error in io.js line 122 (rev 739404) that does, "data = data[url];".  The reason for the error is that the "+" in the URL has been decoded up on the server side to just a space and never got re-encoded.  Also, when the server side shindig code attempts to proxy the request with curl it uses a space instead of a + so the URL more or less gets truncated.

I know this was working late last week so it might have been a recently introduced bug in the trunk.


> URL encoding for makeRequest HTTP GET requests not preserved
> ------------------------------------------------------------
>
>                 Key: SHINDIG-928
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-928
>             Project: Shindig
>          Issue Type: Bug
>          Components: PHP
>    Affects Versions: trunk
>         Environment: Firefox 3.0.6, MAMP 1.7.1
>            Reporter: Brent Theisen
>
> I'm calling makeRequest like so...
> var params = { };
> params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
> params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
> gadgets.io.makeRequest(
>     "http://local.api.madison.com/article/v1/search.json?tags=Local+News&limit=5&hasImages=1", function(response) {
>       // Omitted
>     }, params);
> The callback never gets invoked and I traced the JS to an error in io.js line 122 (rev 739404) that does, "data = data[url];".  The reason for the error is that the "+" in the URL has been decoded up on the server side to just a space and never got re-encoded.  Also, when the server side shindig code attempts to proxy the request with curl it uses a space instead of a + so the URL more or less gets truncated.
> I know this was working late last week so it might have been a recently introduced bug in the trunk.  I tried some previous revisions of shindig with the gadget that makes this particular makeRequest() call and found that it broke beginning with revision 744702.  With 744702 the gadget doesn't render at all and I get a debug iframe saying, "Invalid view specified for this gadget".  With the next revision (744733), I get the same behavior I described above.  So I guess this bug was introduced with revision 744702.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.