import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
public class SimpleHttpServer {
public static void main(String[] args) throws IOException {
final int port = 8080;
HttpServer server = HttpServer.create(new InetSocketAddress(port), 0);
// Endpoint 1: Fast
server.createContext("/hello", new HttpHandler() {
@Override
public void handle(HttpExchange exchange) throws IOException {
String response = "Hello from the Java side!";
exchange.sendResponseHeaders(200, response.length());
OutputStream os = exchange.getResponseBody();
os.write(response.getBytes());
os.close();
}
});
// Endpoint 2: Slow
server.createContext("/slow", new HttpHandler() {
@Override
public void handle(HttpExchange exchange) throws IOException {
try {
Thread.sleep(500); // Simulating the slow processing
} catch (InterruptedException e) {
e.printStackTrace();
}
String response = "That took a while, fiuuuu x)";
exchange.sendResponseHeaders(200, response.length());
OutputStream os = exchange.getResponseBody();
os.write(response.getBytes());
os.close();
}
});
server.setExecutor(null);
System.out.printf("Server is starting on port %s...\n", port);
server.start();
}
}