|
38 | 38 | import java.io.IOException;
|
39 | 39 | import java.io.InputStream;
|
40 | 40 | import java.io.PrintWriter;
|
| 41 | +import java.util.Date; |
41 | 42 | import java.util.HashMap;
|
42 | 43 | import java.util.Map;
|
43 | 44 | import java.util.regex.Matcher;
|
@@ -83,6 +84,7 @@ public class WebServer {
|
83 | 84 | Pattern.compile("([a-zA-Z_][a-zA-Z0-9_]*\\.)*[a-zA-Z_][a-zA-Z0-9_]*");
|
84 | 85 |
|
85 | 86 | private static final MimeTypes MIME_TYPES = new MimeTypes();
|
| 87 | + private static final String TIME_IN_THE_PAST = "Fri, 01 Jan 1990 00:00:00 GMT"; |
86 | 88 |
|
87 | 89 | private final SourceHandler handler;
|
88 | 90 |
|
@@ -285,6 +287,11 @@ private void sendOutputFile(String target, HttpServletRequest request,
|
285 | 287 |
|
286 | 288 | if (target.endsWith(".cache.js")) {
|
287 | 289 | response.setHeader("X-SourceMap", sourceMapLocationForModule(moduleName));
|
| 290 | + } else if (target.endsWith(".nocache.js")) { |
| 291 | + response.setHeader("Cache-Control", "no-cache, no-store, max-age=0, must-revalidate"); |
| 292 | + response.setHeader("Pragma", "no-cache"); |
| 293 | + response.setHeader("Expires", TIME_IN_THE_PAST); |
| 294 | + response.setDateHeader("Date", new Date().getTime()); |
288 | 295 | }
|
289 | 296 | response.setHeader("Access-Control-Allow-Origin", "*");
|
290 | 297 | String mimeType = guessMimeType(target);
|
|
0 commit comments