Targets

A condition's targets list selects fields by target. A target is inspected only in the stages listed, and named targets accept the name, namePrefix, nameRegex and excludeNames selectors described in Rule flow. Facts and measures are listed in Facts and limits.

Target Stages Named Since Description
Method RequestMetadata no 1.0.0-alpha4 The request method, such as GET or POST.
Protocol RequestMetadata no 1.0.0-alpha4 The HTTP protocol version, such as HTTP/1.1 or HTTP/2.
Scheme RequestMetadata no 1.0.0-alpha4 The request scheme, http or https.
Host RequestMetadata no 1.0.0-alpha4 The Host value Edge received, including any port.
RawPath RequestMetadata no 1.0.0-alpha4 The raw request target before its query string, retaining percent escapes and any absolute-form URI.
NormalizedPath RequestMetadata no 1.0.0-alpha4 The path supplied by ASP.NET Core, including the request path base.
RawQuery RequestMetadata no 1.0.0-alpha4 The query string exactly as sent, without its leading question mark.
QueryName RequestMetadata yes 1.0.0-alpha4 Each query parameter name, one field per occurrence.
QueryValue RequestMetadata yes 1.0.0-alpha4 Each query parameter value, named by its parameter.
HeaderName RequestMetadata yes 1.0.0-alpha4 Each request header name.
HeaderValue RequestMetadata yes 1.0.0-alpha4 Each request header value, named by its header; header names compare case-insensitively.
CookieName RequestMetadata yes 1.0.0-alpha4 Each cookie name from the Cookie header.
CookieValue RequestMetadata yes 1.0.0-alpha4 Each cookie value, named by its cookie.
JsonFieldPath RequestBody, WebSocketMessage yes 1.0.0-alpha4 The path of each JSON scalar value, such as $.user.name.
JsonPropertyName RequestBody, WebSocketMessage yes 1.0.0-alpha4 Each JSON object property name, named by its full JSON path.
JsonScalarValue RequestBody, WebSocketMessage yes 1.0.0-alpha4 Each JSON string, number, boolean or null as text, named by its JSON path. A GraphQL request's query string that parses without comments is represented by GraphQL targets instead.
FormName RequestBody yes 1.0.0-alpha4 Each URL-encoded form field name.
FormValue RequestBody yes 1.0.0-alpha4 Each URL-encoded form field value, named by its field.
MultipartTextName RequestBody yes 1.0.0-alpha4 The name of each multipart text part.
MultipartTextValue RequestBody yes 1.0.0-alpha4 The content of each multipart text part, named by its part.
MultipartFieldName RequestBody yes 1.0.0-alpha4 The form-data name of every multipart part, text or file.
MultipartFileName RequestBody yes 1.0.0-alpha4 The file name a multipart file part declares.
MultipartContentType RequestBody yes 1.0.0-alpha4 The content type a multipart part declares, named by its part.
ProtocolAnomaly RequestMetadata, RequestBody no 1.0.0-alpha4 A protocol anomaly Edge observed; the value is the anomaly name listed under Facts and limits.
RawBodyValue RequestBody no 1.0.0-alpha4 The decoded request body in overlapping text windows, bounded by the raw-body character setting and inspection budgets.
RequestLine RequestMetadata no 1.0.0-alpha4 The request line: method, raw target and protocol.
RequestBasename RequestMetadata no 1.0.0-alpha4 The last segment of the raw path.
BodyFormat RequestBody no 1.0.0-alpha4 The detected format of the ordinary request body, or None when it is empty.
MultipartPartHeaderName RequestBody yes 1.0.0-alpha4 Each header name of each multipart part.
MultipartPartHeaderValue RequestBody yes 1.0.0-alpha4 Each multipart part header value, named by its header with case-insensitive name comparisons.
MultipartFileContent RequestBody yes 1.0.0-alpha4 The retained prefix of each file part, up to the file-content setting, with one character per byte.
MultipartArchiveEntryName RequestBody yes 1.0.0-alpha4 Entry names from a zip file part's central directory; nothing is extracted.
ArgumentNameSegment RequestMetadata, RequestBody, WebSocketMessage yes 1.0.0-alpha4 Each segment of bracket or dot argument names, such as $ne in user[$ne].
JsonValueKind RequestBody, WebSocketMessage yes 1.0.0-alpha4 The kind of each JSON value (object, array, string, number, boolean or null), named by its path.
JwtHeader RequestMetadata, RequestBody yes 1.0.0-alpha4 Each header field of a compact JWS found in Authorization, cookies or parameters, named by field path.
JwtClaim RequestMetadata, RequestBody yes 1.0.0-alpha4 Each claim of a compact JWS, named by claim path.
Measure RequestMetadata, RequestBody, WebSocketMessage, Response yes 1.0.0-alpha4 A named number Edge computed, such as args-count; the name is the measure and the value the number.
ParserFact RequestMetadata, RequestBody, WebSocketMessage, Response yes 1.0.0-alpha4 A parser observation whose name identifies the fact and whose value carries optional detail.
XmlElementName RequestBody yes 1.0.0-alpha4 Each XML element name, named by its element path.
XmlAttributeName RequestBody yes 1.0.0-alpha4 Each XML attribute name, named by its element path.
XmlAttributeValue RequestBody yes 1.0.0-alpha4 Each XML attribute value, named by its element path and attribute.
XmlText RequestBody yes 1.0.0-alpha4 The text content of each XML element, named by its element path.
XmlProcessingInstruction RequestBody yes 1.0.0-alpha4 The content of each XML processing instruction, named by its target.
XmlEntityDeclaration RequestBody yes 1.0.0-alpha4 Each entity declared in the internal DTD subset, with its literal value or identifier; entities are never expanded.
GraphQlOperationType RequestMetadata, RequestBody, WebSocketMessage yes 1.0.0-alpha4 The type of each GraphQL operation: query, mutation or subscription.
GraphQlFieldPath RequestMetadata, RequestBody, WebSocketMessage no 1.0.0-alpha4 The path of every selected GraphQL field.
GraphQlArgumentName RequestMetadata, RequestBody, WebSocketMessage yes 1.0.0-alpha4 Each GraphQL argument name, named by its field.
GraphQlArgumentValue RequestMetadata, RequestBody, WebSocketMessage yes 1.0.0-alpha4 Each GraphQL argument value, named by its argument and grouped with its argument-name field, and each variable default value, named by its $variable.
GraphQlDirective RequestMetadata, RequestBody, WebSocketMessage yes 1.0.0-alpha4 Each GraphQL directive name.
Args expands to QueryValue, FormValue, JsonScalarValue, MultipartTextValue yes 1.0.0-alpha4 A selector group for every argument value: QueryValue, FormValue, JsonScalarValue and MultipartTextValue.
ArgNames expands to QueryName, FormName, JsonPropertyName, MultipartTextName yes 1.0.0-alpha4 A selector group for actual argument names: QueryName, FormName, JsonPropertyName and MultipartTextName. JSON array indices and generated field paths are not argument names.
WebSocketTextMessage WebSocketMessage no 1.0.0-alpha4 The retained client-to-server WebSocket text message in overlapping windows.
WebSocketBinaryMessage WebSocketMessage no 1.0.0-alpha4 The retained client-to-server WebSocket binary message in overlapping windows, with one character per byte.
GrpcMethod RequestMetadata no 1.0.0-alpha4 The gRPC method from the request path, such as /package.Service/Method.
ProtobufString RequestBody yes 1.0.0-alpha4 Each length-delimited protobuf field that is valid UTF-8, named by its field-number path such as 1.4.2.
ProtobufBytes RequestBody yes 1.0.0-alpha4 Opaque protobuf leaves or undecodable compressed messages, with one character per byte and a field-number path when available.
ResponseStatus Response no 1.0.0-alpha4 The response status code.
ResponseHeaderName Response yes 1.0.0-alpha4 Each response header name.
ResponseHeaderValue Response yes 1.0.0-alpha4 Each response header value, named by its header with case-insensitive name comparisons.
ResponseBody Response no 1.0.0-alpha4 The captured response body or streaming prefix, decompressed when supported and read as UTF-8 in overlapping windows.
SchemaViolation RequestMetadata, RequestBody yes 1.0.0-alpha4 A mismatch with the route's OpenAPI document; the name is the violation kind and the value its JSON pointer.
FormRawValue RequestBody yes 1.0.0-alpha4 Each encoded form parameter occurrence, including its encoded name, equals sign if present, and original adjacent ampersand delimiters. Named by the decoded field name and grouped with its FormName and FormValue. Encoded ampersands do not split parameters. Not included in Args; RawBodyValue remains the whole body.