|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.wicket.request.mapper.CryptoMapper
public class CryptoMapper
Request mapper that encrypts urls generated by another mapper. The original URL (both segments and parameters) is encrypted and is represented as URL segment. To be able to handle relative URLs for images in .css file the same amount of URL segments that the original URL had are appended to the encrypted URL. Each segment has a precise 5 character value, calculated using a checksum. This helps in calculating the relative distance from the original URL. When a URL is returned by the browser, we iterate through these checksummed placeholder URL segments. If the segment matches the expected checksum, then the segment it deemed to be the corresponding segment in the encrypted URL. If the segment does not match the expected checksum, then the segment is deemed a plain text sibling of the corresponding segment in the encrypted URL, and all subsequent segments are considered plain text children of the current segment.
| Constructor Summary | |
|---|---|
CryptoMapper(IRequestMapper wrappedMapper,
Application application)
Construct. |
|
CryptoMapper(IRequestMapper wrappedMapper,
IProvider<ICrypt> cryptProvider)
Construct. |
|
| Method Summary | |
|---|---|
int |
getCompatibilityScore(Request request)
Returns the score representing how compatible this request mapper is to processing the given request. |
protected ICrypt |
getCrypt()
|
protected IRequestMapper |
getWrappedMapper()
|
Url |
mapHandler(IRequestHandler requestHandler)
Returns the Url for given IRequestHandler or null if the request
handler is not recognized. |
IRequestHandler |
mapRequest(Request request)
Returns IRequestHandler for the request or null if the Url is
not recognized. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CryptoMapper(IRequestMapper wrappedMapper,
Application application)
wrappedMapper - the non-crypted request mapperapplication - the current application
public CryptoMapper(IRequestMapper wrappedMapper,
IProvider<ICrypt> cryptProvider)
wrappedMapper - the non-crypted request mappercryptProvider - the custom crypt provider| Method Detail |
|---|
public int getCompatibilityScore(Request request)
IRequestMapper
A good criteria for calculating the score is the number of matched url segments. For example
when there are two mappers for a mounted page, one mapped to /foo another to
/foo/bar and the incoming request URL is /foo/bar/baz, the mapping
to /foo/bar should probably handle the request first as it has matching segments
count of 2 while the first one has only matching segments count of 1.
Note that the method can return value greater then zero even if the mapper does not recognize the request.
getCompatibilityScore in interface IRequestMapperpublic Url mapHandler(IRequestHandler requestHandler)
IRequestMapperUrl for given IRequestHandler or null if the request
handler is not recognized.
mapHandler in interface IRequestMappernull.public IRequestHandler mapRequest(Request request)
IRequestMapperIRequestHandler for the request or null if the Url is
not recognized.
mapRequest in interface IRequestMapperrequest - provides access to request data (i.e. Url and Parameters)
nullprotected final ICrypt getCrypt()
ICrypt implementation that may be used to encrypt/decrypt Url's
segments and/or query stringprotected final IRequestMapper getWrappedMapper()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||