273. Complementing a conditional HttpHandler with another handler
Let’s assume that we want to choose between two HttpHandler instances based on a condition. For instance, for all GET requests, we want to use the following well-known HttpHandler:
HttpHandler fileHandler = SimpleFileServer.createFileHandler( Path.of("./docs").toAbsolutePath()); For all other requests, we want to use an HttpHandler that always returns the same resource (for instance, the text No data available). Defining a HttpHandler that always returns the same code and resource (so, a canned response) can be done via the HttpHandlers.of(int statusCode, Headers headers, String body) method as in the following example:
HttpHandler complementHandler = HttpHandlers.of(200, Headers.of("Content-Type", "text/plain"), "No data available"); In addition, the HttpHandler class exposes a method that can decide between two HttpHandler instances based...