Thanks for this answer Juri. I tried it (once again) and it didn't work : the setHeaders method isn't called...
I use Live HTTP headers to check what goes through : http://localhost:8080/charts/data/dataId/KBU GET /charts/data/dataId/KBU HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en,de;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Cookie: JSESSIONID=1gxaom5muzh66 HTTP/1.x 200 OK Content-Type: text/csv; charset=UTF-8 Content-Length: 5726 Server: Jetty(6.1.16) thanks again zedros On Tue, Jul 28, 2009 at 8:59 AM, Juri Prokofiev<proj...@gmail.com> wrote: > To set headers to a resource you need to extend setHeaders method from > WebResource. Example: > �...@override > protected void setHeaders(WebResponse response) > { > super.setHeaders(response); > response.setAttachmentHeader("announcements.csv"); > response.setHeader("Cache-Control", "no-cache"); > } > > Check your headers. If Cache-Control is passed then resource should be > cached on user side. > > On Tue, Jul 28, 2009 at 1:02 AM, ZedroS Schwart > <zedros.schwa...@gmail.com>wrote: > >> hi >> >> We need to provide a flash application (www.amcharts.com if anyone is >> interested) with some content through some files. >> >> As the files are users specific (and determined with data from the >> session), we went for some page delivering the content like this : >> public AMChartDataProviderPage(final PageParameters parameters) >> { >> Object object = parameters.get(DATA_KEY); >> if ((object == null) || !(object instanceof String) || >> "".equals(object)) >> { >> throw new IllegalStateException("Expected parameter " + >> DATA_KEY + " not provided or empty"); >> } >> String dataId = (String) object; >> ByteArrayResource resourceStream; >> try >> { >> resourceStream = new ByteArrayResource("text/csv", >> IOHelper.getResourceAsByteArray(dataId + ".csv")); >> } >> catch (IOException e) >> { >> throw ExceptionHelper.wrap(e); >> } >> getRequestCycle().setRequestTarget(new >> ResourceStreamRequestTarget(resourceStream.getResourceStream())); >> } >> >> However, I don't manage to get this resource to be cached on the user >> browser side, despite the resource being cacheable. From what I've >> seen, setHeaders() in WebResource is never called... Neither did I >> manage to set them myself (on the page they're never called neither... >> and the request cycle has no webresponse on which to define the >> header). >> >> Any clue ? >> >> thanks in advance >> zedros >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> > > > -- > http://www.autoladu.ee - kõik varuosad ühes kohas > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org