case class Response
(/* body: OutputStream */)
def handle
(connection
: Connection, request
: Request
): Response
}
if (request.
method == "HEAD") request.
copy(method
= "GET"/*, body = NullOutputStream.NULL_OUTPUT_STREAM*/) super.
handle(connection, nonHEADRequest
) }
}
override def handle
(connection
: Connection, request
: Request
): Response
= { println(request)
Response()
}
}
handler.handle(Connection(), Request("GET"))
handler.handle(Connection(), Request("HEAD"))
handler.handle(Connection(), Request("PUT"))
handler.handle(Connection(), Request("POST"))
handler.handle(Connection(), Request("DELETE"))
}
Y2FzZSBjbGFzcyBDb25uZWN0aW9uKCkKY2FzZSBjbGFzcyBSZXF1ZXN0KG1ldGhvZDogU3RyaW5nKQpjYXNlIGNsYXNzIFJlc3BvbnNlKC8qIGJvZHk6IE91dHB1dFN0cmVhbSAqLykKCnRyYWl0IEhhbmRsZXIgewogIGRlZiBoYW5kbGUoY29ubmVjdGlvbjogQ29ubmVjdGlvbiwgcmVxdWVzdDogUmVxdWVzdCk6IFJlc3BvbnNlCn0KCnRyYWl0IEhFQURIYW5kbGVyIGV4dGVuZHMgSGFuZGxlciB7CiAgYWJzdHJhY3Qgb3ZlcnJpZGUgZGVmIGhhbmRsZShjb25uZWN0aW9uOiBDb25uZWN0aW9uLCByZXF1ZXN0OiBSZXF1ZXN0KTogUmVzcG9uc2UgPSB7CiAgICB2YWwgbm9uSEVBRFJlcXVlc3QgPQogICAgICBpZiAocmVxdWVzdC5tZXRob2QgPT0gIkhFQUQiKSByZXF1ZXN0LmNvcHkobWV0aG9kID0gIkdFVCIvKiwgYm9keSA9IE51bGxPdXRwdXRTdHJlYW0uTlVMTF9PVVRQVVRfU1RSRUFNKi8pCiAgICAgIGVsc2UgcmVxdWVzdAogICAgc3VwZXIuaGFuZGxlKGNvbm5lY3Rpb24sIG5vbkhFQURSZXF1ZXN0KQogIH0KfQoKY2xhc3MgTXlIYW5kbGVyIGV4dGVuZHMgSGFuZGxlciB7CiAgb3ZlcnJpZGUgZGVmIGhhbmRsZShjb25uZWN0aW9uOiBDb25uZWN0aW9uLCByZXF1ZXN0OiBSZXF1ZXN0KTogUmVzcG9uc2UgPSB7CiAgICBwcmludGxuKHJlcXVlc3QpCiAgICBSZXNwb25zZSgpCiAgfQp9CgpvYmplY3QgTWFpbiBleHRlbmRzIEFwcCB7CiAgdmFsIGhhbmRsZXIgPSBuZXcgTXlIYW5kbGVyIHdpdGggSEVBREhhbmRsZXIKICBoYW5kbGVyLmhhbmRsZShDb25uZWN0aW9uKCksIFJlcXVlc3QoIkdFVCIpKQogIGhhbmRsZXIuaGFuZGxlKENvbm5lY3Rpb24oKSwgUmVxdWVzdCgiSEVBRCIpKQogIGhhbmRsZXIuaGFuZGxlKENvbm5lY3Rpb24oKSwgUmVxdWVzdCgiUFVUIikpCiAgaGFuZGxlci5oYW5kbGUoQ29ubmVjdGlvbigpLCBSZXF1ZXN0KCJQT1NUIikpCiAgaGFuZGxlci5oYW5kbGUoQ29ubmVjdGlvbigpLCBSZXF1ZXN0KCJERUxFVEUiKSkKfQo=