diff options
Diffstat (limited to 'samples')
5 files changed, 72 insertions, 52 deletions
diff --git a/samples/src/main/java/fi/iki/elonen/DebugServer.java b/samples/src/main/java/fi/iki/elonen/DebugServer.java new file mode 100644 index 0000000..b7300c4 --- /dev/null +++ b/samples/src/main/java/fi/iki/elonen/DebugServer.java @@ -0,0 +1,37 @@ +package fi.iki.elonen; + +import java.util.Map; + +/** + * @author Paul S. Hawke (paul.hawke@gmail.com) + * On: 3/8/13 at 9:44 PM + */ +public class DebugServer extends NanoHTTPD { + /** + * Constructs an HTTP server on given port. + */ + public DebugServer() { + super(8080); + } + + @Override + public Response serve(String uri, Method method, Map<String, String> header, Map<String, String> parms, Map<String, String> files) { + StringBuilder sb = new StringBuilder(); + sb.append("<html>"); + sb.append("<head><title>Debug Server</title></head>"); + sb.append("<body>"); + sb.append("<h1>Response</h1>"); + sb.append("<p><blockquote><b>URI -</b> ").append(uri).append("<br />"); + sb.append("<b>Method -</b> ").append(method).append("</blockquote></p>"); + sb.append("<h3>Headers</h3><p><blockquote>").append(header).append("</blockquote></p>"); + sb.append("<h3>Parms</h3><p><blockquote>").append(parms).append("</blockquote></p>"); + sb.append("<h3>Files</h3><p><blockquote>").append(files).append("</blockquote></p>"); + sb.append("</body>"); + sb.append("</html>"); + return new Response(sb.toString()); + } + + public static void main(String[] args) { + ServerRunner.run(DebugServer.class); + } +} diff --git a/samples/src/main/java/fi/iki/elonen/FileUploadTesting.java b/samples/src/main/java/fi/iki/elonen/FileUploadTesting.java index f8326e1..626ddd7 100644 --- a/samples/src/main/java/fi/iki/elonen/FileUploadTesting.java +++ b/samples/src/main/java/fi/iki/elonen/FileUploadTesting.java @@ -13,24 +13,7 @@ public class FileUploadTesting extends NanoHTTPD { } public static void main(String[] args) { - FileUploadTesting server = new FileUploadTesting(); - - try { - server.start(); - } catch (IOException ioe) { - System.err.println("Couldn't start server:\n" + ioe); - System.exit(-1); - } - - System.out.println("Server started, Hit Enter to stop.\n"); - - try { - System.in.read(); - } catch (Throwable ignored) { - } - - server.stop(); - System.out.println("Server stopped.\n"); + ServerRunner.run(FileUploadTesting.class); } @Override diff --git a/samples/src/main/java/fi/iki/elonen/HelloServer.java b/samples/src/main/java/fi/iki/elonen/HelloServer.java index 370b88b..ddf6c3e 100644 --- a/samples/src/main/java/fi/iki/elonen/HelloServer.java +++ b/samples/src/main/java/fi/iki/elonen/HelloServer.java @@ -30,21 +30,6 @@ public class HelloServer extends NanoHTTPD { } public static void main(String[] args) { - HelloServer helloServer = new HelloServer(); - - try { - helloServer.start(); - } catch (IOException ioe) { - System.err.println("Couldn't start server:\n" + ioe); - System.exit(-1); - } - - System.out.println("Listening on port 8080. Hit Enter to stop.\n"); - try { - System.in.read(); - } catch (Throwable ignored) { - } - - helloServer.stop(); + ServerRunner.run(HelloServer.class); } } diff --git a/samples/src/main/java/fi/iki/elonen/ServerRunner.java b/samples/src/main/java/fi/iki/elonen/ServerRunner.java new file mode 100644 index 0000000..313097a --- /dev/null +++ b/samples/src/main/java/fi/iki/elonen/ServerRunner.java @@ -0,0 +1,32 @@ +package fi.iki.elonen; + +import java.io.IOException; + +public class ServerRunner { + public static void run(Class serverClass) { + try { + executeInstance((NanoHTTPD) serverClass.newInstance()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static void executeInstance(NanoHTTPD server) { + try { + server.start(); + } catch (IOException ioe) { + System.err.println("Couldn't start server:\n" + ioe); + System.exit(-1); + } + + System.out.println("Server started, Hit Enter to stop.\n"); + + try { + System.in.read(); + } catch (Throwable ignored) { + } + + server.stop(); + System.out.println("Server stopped.\n"); + } +} diff --git a/samples/src/main/java/fi/iki/elonen/SimpleWebServer.java b/samples/src/main/java/fi/iki/elonen/SimpleWebServer.java index 8f94f80..c1b865b 100644 --- a/samples/src/main/java/fi/iki/elonen/SimpleWebServer.java +++ b/samples/src/main/java/fi/iki/elonen/SimpleWebServer.java @@ -315,23 +315,6 @@ public class SimpleWebServer extends NanoHTTPD { break; } - SimpleWebServer server = new SimpleWebServer(port, wwwroot); - - try { - server.start(); - } catch (IOException ioe) { - System.err.println("Couldn't start server:\n" + ioe); - System.exit(-1); - } - - System.out.println("Now serving files in port " + port + " from \"" + wwwroot + "\""); - System.out.println("Hit Enter to stop.\n"); - - try { - System.in.read(); - } catch (Throwable ignored) { - } - - server.stop(); + ServerRunner.executeInstance(new SimpleWebServer(port, wwwroot)); } } |