|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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. |
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 applicationpublic CryptoMapper(IRequestMapper wrappedMapper, IProvider<ICrypt> cryptProvider)
wrappedMapper
- the non-crypted request mappercryptProvider
- the custom crypt providerMethod 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 IRequestMapper
public Url mapHandler(IRequestHandler requestHandler)
IRequestMapper
Url
for given IRequestHandler
or null
if the request
handler is not recognized.
mapHandler
in interface IRequestMapper
null
.public IRequestHandler mapRequest(Request request)
IRequestMapper
IRequestHandler
for the request or null
if the Url
is
not recognized.
mapRequest
in interface IRequestMapper
request
- provides access to request data (i.e. Url and Parameters)
null
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |