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

John Hjelmstad reopened SHINDIG-852:
------------------------------------


Reopening issue - turns out this solution wasn't quite right.

The primary reason chained proxy syntax exists is for embedded cached flash, 
via the flash.js library. It generates a base="..." parameter that is used by 
all relative resource loads done within the SWF. URIEncoding the entire 
resource path leads to a notable problem in this case then: the flash.js code 
generates an incorrect base URL.

Consider a SWF hosted natively on http://foo.com/my.swf. When embedded in 
cached format via gadgets.flash.embedCachedFlash(...) its URL becomes:
http://gadgethost.com/gadgets/proxy/...params.../http%3E%2F%2Ffoo.com%2Fmy.swf

Thus, its base="..." parameter is:
http://gadgethost.com/gadgets/proxy/...params.../

...rather than:
http://gadgethost.com/gadgets/proxy/...params.../http://foo.com/

...as is needed. This could be remedied by updating flash.js alone, but there's 
one additional wrinkle: if a relative resource loaded by the SWF contains URL 
params, they are ignored because 
org.apache.shindig.gadgets.servlet.ProxyServletRequest ignores the query string 
altogether.

As such, the "real" fix is actually a policy rollback of the original 
resolution of this issue: For chained syntax, %rawurl% must be passed, and 
ProxyServletRequest needs to accommodate it directly.

The code for this is relatively simple: patch forthcoming.

> Chained syntax in proxy doesn't support URLs with query arguments
> -----------------------------------------------------------------
>
>                 Key: SHINDIG-852
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-852
>             Project: Shindig
>          Issue Type: Bug
>          Components: Java
>            Reporter: John Hjelmstad
>            Assignee: John Hjelmstad
>             Fix For: trunk
>
>         Attachments: shindig-852.patch
>
>
> When using the proxy's chained syntax, eg:
> http://gadget-server.com/gadgets/proxy/refresh=3600/[url]
> Query arguments are dropped when [url] contains any query params. This is 
> true whether <url> is URI escaped or not.

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

Reply via email to