Home | History | Annotate | Download | only in elonen
      1 package fi.iki.elonen;
      2 
      3 import java.util.Map;
      4 
      5 /**
      6  * An example of subclassing NanoHTTPD to make a custom HTTP server.
      7  */
      8 public class HelloServer extends NanoHTTPD {
      9     public HelloServer() {
     10         super(8080);
     11     }
     12 
     13     @Override public Response serve(IHTTPSession session) {
     14         Method method = session.getMethod();
     15         String uri = session.getUri();
     16         System.out.println(method + " '" + uri + "' ");
     17 
     18         String msg = "<html><body><h1>Hello server</h1>\n";
     19         Map<String, String> parms = session.getParms();
     20         if (parms.get("username") == null)
     21             msg +=
     22                     "<form action='?' method='get'>\n" +
     23                             "  <p>Your name: <input type='text' name='username'></p>\n" +
     24                             "</form>\n";
     25         else
     26             msg += "<p>Hello, " + parms.get("username") + "!</p>";
     27 
     28         msg += "</body></html>\n";
     29 
     30         return new NanoHTTPD.Response(msg);
     31     }
     32 
     33 
     34     public static void main(String[] args) {
     35         ServerRunner.run(HelloServer.class);
     36     }
     37 }
     38