Skip to content

Commit fec37a3

Browse files
committed
Add robots.txt and deny endpoints
Also add missing endpoint documentation.
1 parent 8729917 commit fec37a3

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,15 @@ Java httpbin supports a subset of httpbin endpoints:
2222
- `/put` Returns PUT data.
2323
- `/status/:code` Returns given HTTP Status code.
2424
- `/redirect/:n` 302 Redirects _n_ times.
25+
- `/absolute-redirect/:n` 302 Absolute redirects _n_ times.
2526
- `/redirect-to?url=foo` 302 Redirects to the _foo_ URL.
2627
- `/cookies` Returns the cookies.
2728
- `/cookies/set?name=value` Sets one or more simple cookies.
2829
- `/cookies/delete?name` Deletes one or more simple cookies.
30+
- `/robots.txt` Returns some robots.txt rules.
31+
- `/deny` Denied by robots.txt file.
2932
- `/basic-auth/:user/:passwd` Challenges HTTP Basic Auth.
33+
- `/hidden-basic-auth/:user/:passwd` Challenges HTTP Basic Auth and returns 404 on failure.
3034
- `/html` Returns some HTML.
3135
- `/xml` Returns some XML.
3236
- `/image/png` Returns page containing a PNG image.

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,34 @@ public void handle(String target, Request baseRequest,
275275
copyResource(servletResponse, "/text.xml");
276276
baseRequest.setHandled(true);
277277
return;
278+
} else if (method.equals("GET") && uri.equals("/robots.txt")) {
279+
byte[] output = "User-agent: *\nDisallow: /deny\n".getBytes(
280+
StandardCharsets.UTF_8);
281+
282+
servletResponse.setStatus(HttpServletResponse.SC_OK);
283+
servletResponse.setContentType("text/plain");
284+
os.write(output);
285+
baseRequest.setHandled(true);
286+
return;
287+
} else if (method.equals("GET") && uri.equals("/deny")) {
288+
byte[] output = (
289+
" .-''''''-." +
290+
" .' _ _ '." +
291+
" / O O \"" +
292+
": :" +
293+
"| |" +
294+
": __ :" +
295+
" \\ .-\"' '\"-. /" +
296+
" '. .'" +
297+
" '-......-'" +
298+
"YOU SHOULDN'T BE HERE").getBytes(
299+
StandardCharsets.UTF_8);
300+
301+
servletResponse.setStatus(HttpServletResponse.SC_OK);
302+
servletResponse.setContentType("text/plain");
303+
os.write(output);
304+
baseRequest.setHandled(true);
305+
return;
278306
}
279307
servletResponse.setStatus(501);
280308
baseRequest.setHandled(true);

0 commit comments

Comments
 (0)