docs: @Override
    public void handle(Request request, final Response response) {
      // Reject non-announce requests
      if (!Tracker.ANNOUNCE_URL.equals(request.getPath().toString())) {
        response.setCode(404);
        response.setText("Not Found");
        return;
      }
  
      OutputStream body = null;
      try {
        body = response.getOutputStream();
  
        response.set("Content-Type", "text/plain");
        response.set("Server", "");
        response.setDate("Date", System.currentTimeMillis());
  
        if ("GET".equalsIgnoreCase(request.getMethod())) {
  
          myRequestProcessor.process(request.getAddress().toString(), request.getClientAddress().getAddress().getHostAddress(),
                  getRequestHandler(response));
        } else {
          myMultiAnnounceRequestProcessor.process(request.getContent(), request.getAddress().toString(),
                  request.getClientAddress().getAddress().getHostAddress(), getRequestHandler(response));
        }
        body.flush();
      } catch (IOException ioe) {
        logger.info("Error while writing response: {}!", ioe.getMessage());
      } catch (Throwable t) {
        LoggerUtils.errorAndDebugDetails(logger, "error in processing request {}", request, t);
      } finally {
        IOUtils.closeQuietly(body);
      }
  
    }