Skip to content

Commit 080493a

Browse files
committed
Emit data and json fields for all verb endpoints
Fixes #11.
1 parent 222b7a1 commit 080493a

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

src/main/java/org/gaul/httpbin/HttpBinHandler.java

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -120,20 +120,6 @@ private void handleHelper(Request baseRequest, HttpServletRequest request,
120120
} else if (method.equals("GET") && uri.equals("/user-agent")) {
121121
JSONObject response = new JSONObject();
122122
response.put("user-agent", request.getHeader("User-Agent"));
123-
respondJSON(servletResponse, os, response);
124-
baseRequest.setHandled(true);
125-
return;
126-
} else if ((method.equals("DELETE") && uri.equals("/delete")) ||
127-
(method.equals("GET") && uri.equals("/get")) ||
128-
(method.equals("PATCH") && uri.equals("/patch"))) {
129-
Utils.copy(is, Utils.NULL_OUTPUT_STREAM);
130-
131-
JSONObject response = new JSONObject();
132-
response.put("args", mapParametersToJSON(request));
133-
response.put("headers", mapHeadersToJSON(request));
134-
response.put("origin", request.getRemoteAddr());
135-
response.put("url", getFullURL(request));
136-
137123
respondJSON(servletResponse, os, response);
138124
baseRequest.setHandled(true);
139125
return;
@@ -361,7 +347,10 @@ baos, new Deflater(Deflater.DEFAULT_COMPRESSION,
361347

362348
baseRequest.setHandled(true);
363349
return;
364-
} else if ((method.equals("POST") && uri.equals("/post")) ||
350+
} else if ((method.equals("DELETE") && uri.equals("/delete")) ||
351+
(method.equals("GET") && uri.equals("/get")) ||
352+
(method.equals("PATCH") && uri.equals("/patch")) ||
353+
(method.equals("POST") && uri.equals("/post")) ||
365354
(method.equals("PUT") && uri.equals("/put"))) {
366355
JSONObject response = new JSONObject();
367356

@@ -386,8 +375,14 @@ baos, new Deflater(Deflater.DEFAULT_COMPRESSION,
386375
} else {
387376
ByteArrayOutputStream baos = new ByteArrayOutputStream();
388377
Utils.copy(is, baos);
389-
response.put("data", new String(
390-
baos.toByteArray(), StandardCharsets.UTF_8));
378+
String string = new String(
379+
baos.toByteArray(), StandardCharsets.UTF_8);
380+
response.put("data", string);
381+
try {
382+
response.put("json", new JSONObject(string));
383+
} catch (JSONException e) {
384+
// client can provide non-JSON data
385+
}
391386
}
392387

393388
response.put("args", mapParametersToJSON(request));
@@ -623,9 +618,11 @@ baos, new Deflater(Deflater.DEFAULT_COMPRESSION,
623618
servletResponse.setStatus(501);
624619
baseRequest.setHandled(true);
625620
} catch (JSONException e) {
621+
logger.trace("JSONException", e);
626622
servletResponse.setStatus(500);
627623
baseRequest.setHandled(true);
628624
} catch (ServletException e) {
625+
logger.trace("ServletException", e);
629626
servletResponse.setStatus(500);
630627
baseRequest.setHandled(true);
631628
}

0 commit comments

Comments
 (0)