[
https://issues.apache.org/jira/browse/SHINDIG-928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674821#action_12674821
]
Chris Chabot commented on SHINDIG-928:
--------------------------------------
Hey Brent,
Indeed, while working on some of the deeper changes of 0.9 we'll be seeing a
few random bugs pop up here and there, the 1.0.x branch is a safer place to be
right now for anything that should just work :)
However the bug report in it's self is still valid so thanks for that :)
Ii think this would probably fix this issue (i'll make sure to include the fix
in the trunk too):
Index: servlet/MakeRequestServlet.php
===================================================================
--- servlet/MakeRequestServlet.php (revision 744702)
+++ servlet/MakeRequestServlet.php (working copy)
@@ -35,7 +35,7 @@
try {
$this->noHeaders = true;
$context = new GadgetContext('GADGET');
- $url = urldecode(isset($_GET['url']) ? $_GET['url'] :
(isset($_POST['url']) ? $_POST['url'] : false));
+ $url = isset($_GET['url']) ? $_GET['url'] : (isset($_POST['url']) ?
$_POST['url'] : false);
if (! $url || empty($url)) {
header("HTTP/1.0 400 Bad Request", true);
echo "<html><body><h1>400 - Missing url parameter</h1></body></html>";
> 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.