routeUnhandledHttpMethod(message, cb) {
    const requestContext = global.kuzzle.router.connections.get(
        message.connection.id,
      ),
      request = new Request(
        { requestId: message.requestId },
        requestContext && requestContext.toJSON(),
      );

    // Set Headers if not present
    request.response.setHeaders(this.defaultHeaders, true);

    applyACAOHeader(message, request);

    if (message.method === "OPTIONS") {
      request.input.headers = message.headers;
      request.setResult({}, 200);

      global.kuzzle.pipe("http:options", request, (error, result) => {
        if (error) {
          replyWithError(cb, request, error);
        } else {
          cb(result);
        }
      });

      return;
    }

    replyWithError(cb, request, kerror.get("unsupported_verb", message.method));
  }
Route HTTP messages using an HTTP method that is not handled by Kuzzle's
API, such as OPTIONS.
@param  {HttpMessage} message
@param {function} cb