# HG changeset patch # User Jaroslav Tulach # Date 1256366557 -7200 # Node ID fd95f7873b96273a72abfd09093d011e5d6b9c1c # Parent eba04a2569d0fe8d525025fbe3ee22453dabf35f Using no-cache directive in most of the replies diff -r eba04a2569d0 -r fd95f7873b96 freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java --- a/freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java Sun Oct 18 21:33:27 2009 +0200 +++ b/freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java Sat Oct 24 08:42:37 2009 +0200 @@ -36,7 +36,6 @@ import com.sun.net.httpserver.HttpServer; import cz.xelfi.quoridor.Board; import cz.xelfi.quoridor.IllegalPositionException; -import java.awt.Image; import java.io.IOException; import java.io.InputStream; import java.net.URI; @@ -55,6 +54,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import javax.ws.rs.core.CacheControl; import javax.ws.rs.core.Context; import javax.ws.rs.core.Cookie; import javax.ws.rs.core.HttpHeaders; @@ -135,18 +135,22 @@ @GET @Produces(MediaType.TEXT_HTML) - public Viewable welcome(@QueryParam("maxItems") @DefaultValue("10") int maxItems) { + public Response welcome(@QueryParam("maxItems") @DefaultValue("10") int maxItems) { Viewable v = checkLogin(); - if (v != null) { - return v; + ResponseBuilder resp = Response.ok(); + if (v == null) { + v = welcomeImpl("maxItems", maxItems); } - return welcomeImpl("maxItems", maxItems); + CacheControl cc = new CacheControl(); + cc.setNoCache(true); + resp.cacheControl(cc); + return resp.entity(v).build(); } @GET @Path("games/{id}.png") @Produces("image/png") - public Image getBoardImage( + public Response getBoardImage( @PathParam("id") String id, @QueryParam("fieldSize") @DefaultValue("50") int fieldSize, @QueryParam("move") @DefaultValue("-1") int move @@ -157,7 +161,11 @@ } String txt = wr.accept(MediaType.TEXT_PLAIN).get(String.class); Board b = Board.valueOf(txt); - return BoardImage.draw(b, fieldSize); + ResponseBuilder resp = Response.ok(); + CacheControl cc = new CacheControl(); + cc.setNoCache(true); + resp.cacheControl(cc); + return resp.entity(BoardImage.draw(b, fieldSize)).build(); } @@ -190,6 +198,9 @@ url = url.queryParam("move", "" + move); } ResponseBuilder resp = Response.ok(); + CacheControl cc = new CacheControl(); + cc.setNoCache(true); + resp.cacheControl(cc); Cookie cFormat = headers.getCookies().get("format"); if (format.length() == 0) { if (cFormat != null) {