aboutsummaryrefslogtreecommitdiffstats
path: root/infrastructure/ace/bin/serve
diff options
context:
space:
mode:
authorEgil Moeller <egil.moller@freecode.no>2010-03-22 00:16:53 +0100
committerEgil Moeller <egil.moller@freecode.no>2010-03-22 00:16:53 +0100
commitfc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7 (patch)
tree928419d6bfe794865e4b8f0634bd792f795c4b8a /infrastructure/ace/bin/serve
parent0fdab3db005c4fa31fb8306b573c0b35073d3e56 (diff)
parentd56b9b3b82cdebcaeb00eec0fcb4326ad21adaa8 (diff)
downloadetherpad-fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7.tar.gz
etherpad-fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7.tar.xz
etherpad-fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7.zip
Merge branch 'master' into plugin-framework
Diffstat (limited to 'infrastructure/ace/bin/serve')
-rwxr-xr-xinfrastructure/ace/bin/serve45
1 files changed, 45 insertions, 0 deletions
diff --git a/infrastructure/ace/bin/serve b/infrastructure/ace/bin/serve
new file mode 100755
index 0000000..e02e042
--- /dev/null
+++ b/infrastructure/ace/bin/serve
@@ -0,0 +1,45 @@
+#!/bin/bash
+scala -nocompdaemon -Dlog4j.mortbay.loglevel=WARN -classpath lib/jetty-6.1.7.jar:lib/jetty-util-6.1.7.jar:lib/servlet-api-2.5-6.1.3.jar $0 $@ &
+exit
+!#
+
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.servlet.Context;
+import org.mortbay.jetty.servlet.ServletHolder;
+import org.mortbay.jetty.servlet.DefaultServlet;
+import javax.servlet.http.{HttpServletRequest, HttpServletResponse};
+
+object NonCachingDefaultServlet extends DefaultServlet() {
+
+ private def setHeaders(response:HttpServletResponse) {
+ response.setHeader("Cache-Control","no-cache"); // for HTTP 1.1
+ response.setHeader("Pragma","no-cache"); //for HTTP 1.0
+ response.setDateHeader ("Expires", 0); //for proxy server
+ response.setHeader("Cache-Control","no-store"); //HTTP 1.1
+ }
+
+ override def doGet(request:HttpServletRequest, response:HttpServletResponse) {
+ setHeaders(response);
+ super.doGet(request, response);
+ }
+
+ override def doHead(request:HttpServletRequest, response:HttpServletResponse) {
+ setHeaders(response);
+ super.doHead(request, response);
+ }
+}
+
+val port = if (args.length >= 1) args(0).toInt else 80;
+val dir = if (args.length >= 2) args(1) else "www";
+
+val server = new Server(port);
+
+val context = new Context(server, "/", Context.SESSIONS);
+context.setResourceBase(dir+"/");
+context.addServlet(new ServletHolder(NonCachingDefaultServlet), "/");
+context.setWelcomeFiles(Array[String]("index.html"));
+
+println("pid: "+java.lang.management.ManagementFactory.getRuntimeMXBean.getName.split("@")(0));
+
+server.start();
+server.join();