@@ -64,6 +64,30 @@ public void handle(String target, Request baseRequest,
6464 servletResponse .setStatus (status );
6565 baseRequest .setHandled (true );
6666 return ;
67+ } else if (method .equals ("GET" ) && uri .equals ("/headers" )) {
68+ JSONObject headers = new JSONObject ();
69+ for (String headerName : Collections .list (
70+ request .getHeaderNames ())) {
71+ headers .put (headerName , request .getHeader (headerName ));
72+ }
73+
74+ JSONObject response = new JSONObject ();
75+ response .put ("headers" , headers );
76+ respondJSON (servletResponse , os , response );
77+ baseRequest .setHandled (true );
78+ return ;
79+ } else if (method .equals ("GET" ) && uri .equals ("/ip" )) {
80+ JSONObject response = new JSONObject ();
81+ response .put ("origin" , request .getRemoteAddr ());
82+ respondJSON (servletResponse , os , response );
83+ baseRequest .setHandled (true );
84+ return ;
85+ } else if (method .equals ("GET" ) && uri .equals ("/user-agent" )) {
86+ JSONObject response = new JSONObject ();
87+ response .put ("user-agent" , request .getHeader ("User-Agent" ));
88+ respondJSON (servletResponse , os , response );
89+ baseRequest .setHandled (true );
90+ return ;
6791 } else if (method .equals ("GET" ) && uri .equals ("/get" )) {
6892 Utils .copy (is , Utils .NULL_OUTPUT_STREAM );
6993 // TODO: return JSON blob of request
0 commit comments