hmm this way i have never seen it before :)
But you could also do this with a mounted shared resource
But what you could do if you want to do it that way
then overwrite the ResourceStreamRequestTargets:
*
protected* *void* configure(*final* RequestCycle requestCycle,
*final*Response response,
*final* IResourceStream resourceStream)
and set some headers in the response and call super.
johan
On Nov 27, 2007 6:55 PM, Edvin Syse <[EMAIL PROTECTED]> wrote:
> In my WicketApplication class I have mounted a URL with the
> URIRequestTargetUrlCodingStrategy to serve files in my virtualhosted
> CMS-application written in Wicket 1.3. The problem with this is that it
> returns a header like this with the file it serves up:
>
> HTTP/1.1 200 OK
> Expires: Thu, 01 Jan 1970 00:00:00 GMT
> Set-Cookie: JSESSIONID=1ugsnhj1evodg;Path=/
> Content-Type: image/jpeg; charset=UTF-8
> Content-Length: 55925
> Connection: keep-alive
> Server: Jetty(6.1.5)
>
> The Expires: header obviously prevents the client from caching the result.
> How can I override this header?
>
> My implementation is like this:
>
> mount(new URIRequestTargetUrlCodingStrategy("/files") {
> @Override
> public IRequestTarget decode(RequestParameters requestParameters) {
> // TODO: Better path-checking
> final String uri =
> getURI(requestParameters).replaceAll("\\.\\.", "");
> /* Redirect to / if empty result, maybe return 404 instead?
> */
> if ("".equals(uri))
> return new RedirectRequestTarget("/");
>
> /* Get file for this instance */
> File file = new File(((TornadoWebSession)
> (Session.get())).getInstancePath()
> + File.separator + uri);
> return new ResourceStreamRequestTarget(new
> FileResourceStream(file));
> }
> });
>
> Sincerely,
> Edvin Syse
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>