CodeQL library for JavaScript
Search

Class Routing::Node

A node in a routing tree modeling the composition of middleware functions and route handlers.

More precisely, this is a node in a graph representing a set of possible routing trees, as the concrete shape of the routing tree may be depend on branching control flow.

Each node represents a function that can receive an incoming request, though not necessarily a function with an explicit body in the source code.

A node may either consume the request, dispatching to its first child, or pass it on to its successor in the tree. The successor is the next sibling, or in case there is no next sibling, it is the next sibling of the first ancestor that has a next sibling.

Import path

import javascript

Direct supertypes

Known direct subtypes

Predicates

getAChild

Gets a child of this node in the routing tree.

getFirstChild

Gets the first child of this node in the routing tree.

getLastChild

Gets the last child of this node in the routing tree.

getNextSibling

Gets the next sibling of this node in the routing tree.

getOwnHttpMethod

Gets an HTTP method name which this node will accept, or nothing if the node accepts all HTTP methods, not taking into account the context from ancestors or children nodes.

getParent

Gets the parent of this node in the routing tree.

getPreviousSibling

Gets the previous sibling of this node in the routing tree.

getRelativePath

Gets a path prefix to be matched against the path of incoming requests.

getRootNode

Gets the root node of this node in the routing tree.

getRouteInstallation

Gets a place where this route node is installed as a route handler.

getValueImplicitlyStoredInAccessPath

Gets a node whose value can be accessed via the given access path on the nth route handler parameter, from any route handler that follows after this one.

hasLocationInfo

Holds if this element is at the specified location. The location spans column startcolumn of line startline to column endcolumn of line endline in file filepath. For more information, see Locations.

isGuardedBy

Holds if the middleware corresponding to node has processed the incoming request strictly prior to this node.

isGuardedByNode

Holds if node has processed the incoming request strictly prior to this node.

mayResumeDispatch

Holds if this node may invoke its continuation after having dispatched the request to its children, that is, the incoming request may be partially processed by this subtree, and subsequently passed on to the successor.

toString

Gets a textual representation of this element.