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

Igor Vaynberg updated WICKET-1924:
----------------------------------

    Fix Version/s: 1.5-M1

we will be reworking url handling from scratch in 1.5 irequesttarget will 
probably go away altogether.

> IRequestCodingStrategy abstraction leaks;  reduce dependencies on 
> WebRequestCodingStrategy
> ------------------------------------------------------------------------------------------
>
>                 Key: WICKET-1924
>                 URL: https://issues.apache.org/jira/browse/WICKET-1924
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 1.3.4
>         Environment: OS X 10.5, Java 1.5
>            Reporter: Willis Blackburn
>             Fix For: 1.5-M1
>
>
> I've been working on figuring out how to mount my CMS pages under a path, so 
> that request to (say) /cms/path/to/some/file returns a representation of the 
> CMS resource at /path/to/some/file.  In the process I've been 
> reading/learning about how IRequestCodingStrategy and 
> IRequestTargetUrlEncodingStrategy work.
> While the IRequestCodingStrategy and IRequestTargetUrlEncodingStrategy 
> apparently define the contract between the request cycle processor and the 
> object responsible for decoding and encoding URLs, there are several places 
> in which the code seems to assume that the IRequestCodingStrategy 
> implementation is WebRequestCodingStrategy.  It would be nice if the 
> WebRequestCodingStrategy was more encapsulated.
> For example:
> 1.  WicketFilter assumes that any URL that starts with 
> WebRequestCodingStrategy.RESOURCES_PATH_PREFIX is a Wicket URL.
> 2.  WicketFilter also implements special handling for the last-modified 
> header if the URL starts with WebRequestCodingStrategy.RESOURCES_PATH_PREFIX.
> 3.  AbstractRequestTargetUrlCodingStrategy throws an exception if a caller 
> tries to mount to /resources (in other words, 
> WebRequestCodingStrategy.RESOURCES_PATH_PREFIX, although it actually uses a 
> string literal).
> 4.  Although CryptedUrlWebRequestCodingStrategy delegates to any 
> IRequestCodingStrategy implementation, the rebuildUrl and shortenUrl methods 
> are optimzied for WebRequestCodingStrategy.  (Maybe there could be a 
> interface that provides hints to CryptedUrlWebRequestCodingStrategy on how to 
> shorten/expand the URL instead.)
> 5.  RequestParameters invokes a static method in WebRequestCodingStrategy.
> 6.  All (?) of the IRequestTargetUrlCodingStrategy implementations make use 
> of static members in WebRequestCodingStrategy and seem to be aware of how 
> WebRequestCodingStrategy constructs URLs.

-- 
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