_onRequest(request, response) {
    this._handleError(request, response);
    const { path } = parse(request.url);
    response.setHeader('Content-Type', mime.getType(path));
    const auth = this._auths.get(path);
    if (!this._authenticate(auth, request)) {
      response.writeHead(401, { 'WWW-Authenticate': 'Basic realm="Secure Area"' });
      response.end('HTTP Error 401 Unauthorized: Access is denied');
      return;
    }
    const delay = this._delays.get(path) || 0;
    setTimeout(() => {
      const route = this._routes.get(path);
      if (route) {
        route(request, response);
        return;
      }
      const content = this._contents.get(path);
      if (content) {
        response.end(content);
        return;
      }
      response.end(path);
    }, delay);
  }
@param {!IncomingMessage} request
@param {!ServerResponse} response
@private