19788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawkepackage fi.iki.elonen; 29788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke 39788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawkeimport java.io.IOException; 49788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke 59788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawkepublic class ServerRunner { 69788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke public static void run(Class serverClass) { 79788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke try { 89788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke executeInstance((NanoHTTPD) serverClass.newInstance()); 99788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke } catch (Exception e) { 109788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke e.printStackTrace(); 119788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke } 129788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke } 139788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke 149788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke public static void executeInstance(NanoHTTPD server) { 159788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke try { 169788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke server.start(); 179788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke } catch (IOException ioe) { 189788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke System.err.println("Couldn't start server:\n" + ioe); 199788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke System.exit(-1); 209788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke } 219788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke 229788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke System.out.println("Server started, Hit Enter to stop.\n"); 239788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke 249788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke try { 259788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke System.in.read(); 269788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke } catch (Throwable ignored) { 279788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke } 289788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke 299788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke server.stop(); 309788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke System.out.println("Server stopped.\n"); 319788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke } 329788c5b7900b4c7ff27355f69fee4e14630eb412Paul Hawke} 33