constructor({ app, method, pattern, options, handler }) {
        this.id = app._get_incremented_id();
        this.app = app;
        this.pattern = pattern;
        this.handler = handler;
        this.options = options;
        this.method = method.toUpperCase();
        this.streaming = options.streaming || app._options.streaming || {};
        this.max_body_length = options.max_body_length || app._options.max_body_length;
        this.path_parameters_key = parse_path_parameters(pattern);

        // Translate to HTTP DELETE
        if (this.method === 'DEL') this.method = 'DELETE';

        // Cache the expected request path for this route if it is not a wildcard route
        // This will be used to optimize performance for determining incoming request paths
        const wildcard = pattern.includes('*') || this.path_parameters_key.length > 0;
        if (!wildcard) this.path = pattern;
    }
Constructs a new Route object.
@param {Object} options
@param {import('../Server.js')} options.app - The server instance.
@param {String} options.method - The HTTP method.
@param {String} options.pattern - The route pattern.
@param {Function} options.handler - The route handler.