[
https://issues.apache.org/jira/browse/COCOON-1943?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Klimetschek updated COCOON-1943:
------------------------------------------
Attachment: servlet-connection-uri-encoding.patch
Applies to cocoon-servlet-service-impl only.
> [Patch] Parameters in blocks-protocol URIs get decoded too early
> ----------------------------------------------------------------
>
> Key: COCOON-1943
> URL: https://issues.apache.org/jira/browse/COCOON-1943
> Project: Cocoon
> Issue Type: Bug
> Components: - Servlet service framework
> Affects Versions: 2.2-dev (Current SVN)
> Reporter: Alexander Klimetschek
> Attachments: cocoon-blocks-fw-raw-encoded-URIs.patch,
> servlet-connection-uri-encoding.patch
>
>
> When you pass parameters in the query part of a block-protocol URI, eg.
> "block:super:/dosomething?param1=alpha¶m2=beta", and they include some
> encoded stuff, eg. "<br/>" encoded as "%3Cbr/%3E", this will get decoded
> before the actual servlet request happens. This takes place in
> BlockConnection.parseBlockURI() when uri.getSchemeSpecificPart() is called,
> which will decode the string. Instead, one should call
> uri.getRawSchemeSpecificPart(), which is exactly what the patch does.
> (A little bit Off-topic): The general point here is that I am calling a form
> that is handled in the super block. Since you cannot pass on request
> parameters from a POST call (that comes from the browser) to the other
> (super) block called via the blocks-protocol (because the only interface you
> have is the Source, where you can only pass information via the URI), you
> have to put all parameters in the uri. I have written a simple input module
> that creates a "param1=alpha¶m2=beta" string from another input module
> (preferrably request-param) so that you simply call:
> "block:super:/dosomething?{params-to-uri:request-param}". This might be
> integrated into Cocoon as a standard InputModule.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.