diff src/fschmidt/util/servlet/JarDefaultServlet.java @ 68:00520880ad02

add fschmidt source
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 05 Oct 2025 17:24:15 -0600
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/fschmidt/util/servlet/JarDefaultServlet.java	Sun Oct 05 17:24:15 2025 -0600
@@ -0,0 +1,36 @@
+package fschmidt.util.servlet;
+
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Date;
+
+
+public final class JarDefaultServlet extends DefaultServlet {
+	private static final Logger logger = LoggerFactory.getLogger(JarDefaultServlet.class);
+
+	private static final long built;
+	static {
+		try {
+			built = new Date(ClassLoader.getSystemResource("fschmidt/util/servlet/JarDefaultServlet.class").openConnection().getLastModified()).getTime()/1000*1000;
+		} catch(IOException e) {
+			logger.error("",e);
+			throw new RuntimeException(e);
+		}
+	}
+
+	protected void doGet(HttpServletRequest request,HttpServletResponse response)
+		throws ServletException, IOException
+	{
+		if( built <= request.getDateHeader("If-Modified-Since") ) {
+			response.sendError(HttpServletResponse.SC_NOT_MODIFIED);
+			return;
+		}
+		super.doGet(request,response);
+	}
+}