Skip to content

Instantly share code, notes, and snippets.

@oscarryz
Last active August 29, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oscarryz/b86d7a40ae08951009d2 to your computer and use it in GitHub Desktop.
Save oscarryz/b86d7a40ae08951009d2 to your computer and use it in GitHub Desktop.
import java.io.*;
import java.net.URL;
import java.util.*;
import java.util.regex.*;
import javax.servlet.http.*;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.json.JSONObject;
public class Main {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
server.setHandler(new AbstractHandler(){
@Override
public void handle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response) throws IOException {
baseRequest.setHandled(true);
PrintWriter writer = response.getWriter();
Matcher matcher = Pattern.compile("/hello/(\\d)").matcher(target);
if (matcher.matches()) {
String id = matcher.group(1);
InputStream source = new URL("http://jsonplaceholder.typicode.com/users/" + id).openStream();
try ( Scanner s = new Scanner(source) ) {
JSONObject jsonObject = new JSONObject(s.useDelimiter("\\A").hasNext() ? s.next() : "");
writer.printf("The name for id %s is %s", id, jsonObject.get("name"));
}
} else {
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
writer.println("Usage: /hello/id where id = single digit");
}
}
});
server.start();
server.join();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment