cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Fagerstrom (JIRA)" <j...@apache.org>
Subject [jira] Closed: (COCOON-1943) [Patch] Parameters in blocks-protocol URIs get decoded too early
Date Wed, 25 Oct 2006 19:13:17 GMT
     [ http://issues.apache.org/jira/browse/COCOON-1943?page=all ]

Daniel Fagerstrom closed COCOON-1943.
-------------------------------------

    Resolution: Fixed

The patch is applied, thanks for the patch.

For reference, the offtopic issue is discussed in http://marc.theaimsgroup.com/?t=116177650900001&r=1&w=2.

> [Patch] Parameters in blocks-protocol URIs get decoded too early
> ----------------------------------------------------------------
>
>                 Key: COCOON-1943
>                 URL: http://issues.apache.org/jira/browse/COCOON-1943
>             Project: Cocoon
>          Issue Type: Bug
>          Components: - Blocks Framework
>    Affects Versions: 2.2-dev (Current SVN)
>            Reporter: Alexander Klimetschek
>         Attachments: cocoon-blocks-fw-raw-encoded-URIs.patch
>
>
> When you pass parameters in the query part of a block-protocol URI, eg. "block:super:/dosomething?param1=alpha&param2=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&param2=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.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message