Permalink
Browse files

Added minimal web-servers for developers who are finding browser issu…

…es with running Undum from a file:/// url.
  • Loading branch information...
1 parent 2436a50 commit 0d13de1791dc40573b55d7ef7124b685a819ef2f @idmillington committed Jun 21, 2010
Showing with 63 additions and 0 deletions.
  1. +32 −0 test_webservers/README.md
  2. +13 −0 test_webservers/serve.py
  3. +18 −0 test_webservers/serve.rb
@@ -0,0 +1,32 @@
+# Web Servers
+
+This directory contains minimal web-servers in common scripting languages.
+These are designed to expose the `games` directory at http://localhost:8000/
+so that you can debug your creation in the browser more easily. This is
+needed because some browsers refuse to store data in localSettings when
+serving files from a file:/// url. Simply start one of these servers
+and use the http://localhost:8000/ address instead.
+
+For example, the ruby server (requires Ruby installed):
+
+ ruby serve.rb
+
+Or on a unix-type machine;
+
+ ./serve.rb
+
+Similarly for Python (again you'll need Python installed)
+
+ python serve.py
+
+or
+
+ ./serve.py
+
+You might already have Python installed, it is installed on Macs and Linux
+machines by default.
+
+If you have a minimal (< 20 lines) web server that can do this job in another
+language, please ping me and I'll add it here. I am particularly interested in
+servers that will run out of the box on Windows. I will not include .exe files,
+however.
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+
+import SimpleHTTPServer, BaseHTTPServer, os
+
+os.chdir('../games')
+try:
+ print "Server starting. Visit http://localhost:8000/ in your browser."
+ BaseHTTPServer.test(
+ SimpleHTTPServer.SimpleHTTPRequestHandler,
+ BaseHTTPServer.HTTPServer
+ )
+except KeyboardInterrupt:
+ print
@@ -0,0 +1,18 @@
+#!/usr/bin/env ruby
+
+require 'webrick'
+
+include WEBrick
+
+def start_webrick(config={})
+ config.update(:Port => 8000)
+ puts "Server starting. Visit http://localhost:8000/ in your browser."
+ server = HTTPServer.new(config)
+ yield server if block_given?
+ ['INT', 'TERM'].each { |signal|
+ trap(signal){ server.shutdown}
+ }
+ server.start
+end
+
+start_webrick(:DocumentRoot => '../games')

0 comments on commit 0d13de1

Please sign in to comment.