This is a http server, build from scratch using Socket
.
CkServerDriver.java
public class CkServerDriver {
public static void main(String[] args) {
int port = 8080;
CkHttpServer server = new CkHttpServer(new InetSocketAddress(port));
// Register Handlers
server.addHandler("/", HttpMethod.GET,new RootHandler());
server.addHandler("/echoHeader", HttpMethod.GET,new EchoHeaderHandler());
// Start server
server.start();
}
}
EchoHeaderHandler.java
public class EchoHeaderHandler implements Handler {
// Handler that prints get request headers
@Override
public void handle(CkHttpExchange he) throws IOException {
// Read Headers
List<String> headers = he.getRequestHeaders();
StringBuilder response = new StringBuilder();
for (String header : headers) {
response.append(header).append("\n");
}
// Write Response
he.sendResponseHeaders(HttpStatusCode.OK, ContentType.TEXT);
OutputStream os = he.getResponseBody();
os.write(response.toString().getBytes());
os.close();
}
}
- Similar to
com.sun.net.*
HTTPServer.Exchange
addedHandler
added
SupportPOST
body etcRead Headers MapRead Query ParamAdd integration testcase for ck-server-sample- Read Path Params, ie
/parent/{id}/child
- Error handler
- Performance improvement
- SSL support