Class AttackJsonPathClause

Namespace
Kuestenlogik.Bowire.Security
Assembly
Kuestenlogik.Bowire.dll

Operator-bag for the BodyJsonPath leaf. Path selects values; one of Exists, EqualsValue, Matches, or AnyValueMatches specifies what counts as a match.

public sealed class AttackJsonPathClause
Inheritance
AttackJsonPathClause
Inherited Members

Remarks

Supported JSONPath subset (mirrors the JS-side bowireResolveJsonPath in the workbench):

  • $ — root
  • $.foo — object property
  • $.foo.bar — nested property
  • $.foo[0] — array index
  • $.foo[*] — array wildcard (returns every element)
  • $.foo[*].name — wildcard + further nav

Constructors

AttackJsonPathClause()

public AttackJsonPathClause()

Properties

AnyValueMatches

At least one individual path-result matches this regex.

[JsonPropertyName("anyValueMatches")]
public string? AnyValueMatches { get; set; }

Property Value

string

EqualsValue

At least one path-result equals this value (stringified).

[JsonPropertyName("equals")]
public string? EqualsValue { get; set; }

Property Value

string

Exists

When true, the clause matches if at least one path-result exists. When false, matches if none exist.

[JsonPropertyName("exists")]
public bool? Exists { get; set; }

Property Value

bool?

Matches

The combined path-result (stringified, joined by newline if multiple) matches this regex.

[JsonPropertyName("matches")]
public string? Matches { get; set; }

Property Value

string

Path

JSONPath expression — see remarks for the supported subset.

[JsonPropertyName("path")]
public string Path { get; set; }

Property Value

string