@patchstack/connect 0.3.33 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -168,8 +168,19 @@ export interface CreateProtectionOptions {
168
168
  *
169
169
  * What it sends on EVERY detection: the rule id and its revision, the request path, the query string's
170
170
  * parameter NAMES, the method, the parameters the rule reads, the phase, whether it was enforced, the
171
- * rule-bundle ETag, and a timestamp — plus the values of the parameters the matched rule names, under a
172
- * capture plan derived from that rule.
171
+ * rule-bundle ETag, a timestamp, the rule's category and the action it declares, and which call it
172
+ * belongs to — plus the values of the parameters the matched rule names, under a plan derived from
173
+ * that rule.
174
+ *
175
+ * The category and the declared action say what KIND of rule matched. Both are read from the rule
176
+ * itself and are `null` when it declares neither. Neither is the same as `enforced`:
177
+ * a rule declaring `block` while only observing reports that action with `enforced` false.
178
+ *
179
+ * Which call it belongs to is a token this guard mints and repeats on every rule that matched the same
180
+ * request or outbound call, so one call seen by two rules can be told from two calls. Nothing about
181
+ * the request goes into it — it is drawn from the runtime's randomness, or from the clock and
182
+ * `Math.random` where there is none. A request and its response share one; an outbound call gets its
183
+ * own. It is never a secret and never a boundary: what it has to do is not collide between two calls.
173
184
  *
174
185
  * Two fields depend on the phase. A request or response detection also carries the user agent and the
175
186
  * client address with its provenance. An egress detection carries neither: the call was the
package/dist/protect.d.ts CHANGED
@@ -168,8 +168,19 @@ export interface CreateProtectionOptions {
168
168
  *
169
169
  * What it sends on EVERY detection: the rule id and its revision, the request path, the query string's
170
170
  * parameter NAMES, the method, the parameters the rule reads, the phase, whether it was enforced, the
171
- * rule-bundle ETag, and a timestamp — plus the values of the parameters the matched rule names, under a
172
- * capture plan derived from that rule.
171
+ * rule-bundle ETag, a timestamp, the rule's category and the action it declares, and which call it
172
+ * belongs to — plus the values of the parameters the matched rule names, under a plan derived from
173
+ * that rule.
174
+ *
175
+ * The category and the declared action say what KIND of rule matched. Both are read from the rule
176
+ * itself and are `null` when it declares neither. Neither is the same as `enforced`:
177
+ * a rule declaring `block` while only observing reports that action with `enforced` false.
178
+ *
179
+ * Which call it belongs to is a token this guard mints and repeats on every rule that matched the same
180
+ * request or outbound call, so one call seen by two rules can be told from two calls. Nothing about
181
+ * the request goes into it — it is drawn from the runtime's randomness, or from the clock and
182
+ * `Math.random` where there is none. A request and its response share one; an outbound call gets its
183
+ * own. It is never a secret and never a boundary: what it has to do is not collide between two calls.
173
184
  *
174
185
  * Two fields depend on the phase. A request or response detection also carries the user agent and the
175
186
  * client address with its provenance. An egress detection carries neither: the call was the