Quantcast
Channel: web – Imran Tariq's Blog
Viewing all articles
Browse latest Browse all 33

Expose dummy Http URL and get response

$
0
0

com.sun.net.httpserver.HttpServer can do so. A HttpServer is bound to an IP address and port number and listens for incoming TCP connections from clients on this address.

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.Executors;

import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class HttpServerTest {
static HttpServer server;

public static void startServer() throws IOException {
InetSocketAddress addr = new InetSocketAddress(8086);
server = HttpServer.create(addr, 0);

server.createContext("/test", new MyHandler());
server.setExecutor(Executors.newCachedThreadPool());
server.start();
System.out.println("Server is listening on port 8086");
}

public static void stopServer() {
System.out.println("Stopping server");
server.stop(0);
}

}

class MyHandler implements HttpHandler {
public void handle(HttpExchange exchange) throws IOException {
Headers responseHeaders = exchange.getResponseHeaders();
responseHeaders.set("Content-Type", "text/plain");
exchange.sendResponseHeaders(200, 0);

OutputStream responseBody = exchange.getResponseBody();
Headers requestHeaders = exchange.getRequestHeaders();
Set<string> keySet = requestHeaders.keySet();
Iterator<string> iter = keySet.iterator();
while (iter.hasNext()) {
String key = iter.next();
List values = requestHeaders.get(key);
String s = key + " = " + values.toString() + "\n";
responseBody.write(s.getBytes());
}
responseBody.close();
}
}


Viewing all articles
Browse latest Browse all 33

Trending Articles