Match and Replace
MatchReplaceCollection
MatchReplaceCollection =
object
A collection in Match and Replace.
Properties
id
id:
ID
name
name:
string
ruleIds
ruleIds:
ID[]
MatchReplaceMatcherName
MatchReplaceMatcherName =
object
A matcher that matches by name (for headers, query parameters, etc.).
Properties
kind
kind:
"MatcherName"
name
name:
string
MatchReplaceMatcherRaw
MatchReplaceMatcherRaw =
MatchReplaceMatcherRawRegex|MatchReplaceMatcherRawValue|MatchReplaceMatcherRawFull
A matcher for raw operations in Match and Replace.
MatchReplaceMatcherRawFull
MatchReplaceMatcherRawFull =
object
This matcher will match the entire section.
Properties
kind
kind:
"MatcherRawFull"
MatchReplaceMatcherRawRegex
MatchReplaceMatcherRawRegex =
object
This matcher will match using a regex over the section.
Properties
kind
kind:
"MatcherRawRegex"
regex
regex:
string
MatchReplaceMatcherRawValue
MatchReplaceMatcherRawValue =
object
This matcher will match the value if present in the section.
Properties
kind
kind:
"MatcherRawValue"
value
value:
string
MatchReplaceOperationAll
MatchReplaceOperationAll =
KeepOperation<MatchReplaceOperationAllRaw>
An operation for the entire request/response section.
MatchReplaceOperationAllRaw
MatchReplaceOperationAllRaw =
object
A raw operation for the entire request/response section.
Properties
kind
kind:
"OperationAllRaw"
matcher
matcher:
MatchReplaceMatcherRaw
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationBody
MatchReplaceOperationBody =
KeepOperation<MatchReplaceOperationBodyRaw>
An operation for the body section.
MatchReplaceOperationBodyRaw
MatchReplaceOperationBodyRaw =
object
A raw operation for the body section.
Properties
kind
kind:
"OperationBodyRaw"
matcher
matcher:
MatchReplaceMatcherRaw
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationFirstLine
MatchReplaceOperationFirstLine =
KeepOperation<MatchReplaceOperationFirstLineRaw>
An operation for the first line section.
MatchReplaceOperationFirstLineRaw
MatchReplaceOperationFirstLineRaw =
object
A raw operation for the request first line.
Properties
kind
kind:
"OperationFirstLineRaw"
matcher
matcher:
MatchReplaceMatcherRaw
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationHeader
MatchReplaceOperationHeader =
MatchReplaceOperationHeaderRaw|MatchReplaceOperationHeaderAdd|MatchReplaceOperationHeaderRemove|MatchReplaceOperationHeaderUpdate
An operation for the header section.
MatchReplaceOperationHeaderAdd
MatchReplaceOperationHeaderAdd =
object
An operation to add a header.
Properties
kind
kind:
"OperationHeaderAdd"
matcher
matcher:
MatchReplaceMatcherName
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationHeaderRaw
MatchReplaceOperationHeaderRaw =
object
A raw operation for the header section.
Properties
kind
kind:
"OperationHeaderRaw"
matcher
matcher:
MatchReplaceMatcherRaw
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationHeaderRemove
MatchReplaceOperationHeaderRemove =
object
An operation to remove a header.
Properties
kind
kind:
"OperationHeaderRemove"
matcher
matcher:
MatchReplaceMatcherName
MatchReplaceOperationHeaderUpdate
MatchReplaceOperationHeaderUpdate =
object
An operation to update a header.
Properties
kind
kind:
"OperationHeaderUpdate"
matcher
matcher:
MatchReplaceMatcherName
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationMethod
MatchReplaceOperationMethod =
KeepOperation<MatchReplaceOperationMethodUpdate>
An operation for the request method section.
MatchReplaceOperationMethodUpdate
MatchReplaceOperationMethodUpdate =
object
An operation to update the request method.
Properties
kind
kind:
"OperationMethodUpdate"
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationPath
MatchReplaceOperationPath =
KeepOperation<MatchReplaceOperationPathRaw>
An operation for the request path section.
MatchReplaceOperationPathRaw
MatchReplaceOperationPathRaw =
object
A raw operation for the request path section.
Properties
kind
kind:
"OperationPathRaw"
matcher
matcher:
MatchReplaceMatcherRaw
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationQuery
MatchReplaceOperationQuery =
MatchReplaceOperationQueryRaw|MatchReplaceOperationQueryAdd|MatchReplaceOperationQueryRemove|MatchReplaceOperationQueryUpdate
An operation for the request query section.
MatchReplaceOperationQueryAdd
MatchReplaceOperationQueryAdd =
object
An operation to add a query parameter.
Properties
kind
kind:
"OperationQueryAdd"
matcher
matcher:
MatchReplaceMatcherName
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationQueryRaw
MatchReplaceOperationQueryRaw =
object
A raw operation for the request query section.
Properties
kind
kind:
"OperationQueryRaw"
matcher
matcher:
MatchReplaceMatcherRaw
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationQueryRemove
MatchReplaceOperationQueryRemove =
object
An operation to remove a query parameter.
Properties
kind
kind:
"OperationQueryRemove"
matcher
matcher:
MatchReplaceMatcherName
MatchReplaceOperationQueryUpdate
MatchReplaceOperationQueryUpdate =
object
An operation to update a query parameter.
Properties
kind
kind:
"OperationQueryUpdate"
matcher
matcher:
MatchReplaceMatcherName
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationSNI
MatchReplaceOperationSNI =
KeepOperation<MatchReplaceOperationSNIRaw>
An operation for the request SNI section.
MatchReplaceOperationSNIRaw
MatchReplaceOperationSNIRaw =
object
A raw operation for the request SNI.
Properties
kind
kind:
"OperationSNIRaw"
replacer
replacer:
MatchReplaceReplacer
MatchReplaceOperationStatusCode
MatchReplaceOperationStatusCode =
KeepOperation<MatchReplaceOperationStatusCodeUpdate>
An operation for the response status code section.
MatchReplaceOperationStatusCodeUpdate
MatchReplaceOperationStatusCodeUpdate =
object
An operation to update the response status code.
Properties
kind
kind:
"OperationStatusCodeUpdate"
replacer
replacer:
MatchReplaceReplacer
MatchReplaceReplacer
MatchReplaceReplacer =
MatchReplaceReplacerTerm|MatchReplaceReplacerWorkflow
A replacer in Match and Replace.
MatchReplaceReplacerTerm
MatchReplaceReplacerTerm =
object
A replacer that replaces with a term. If the matcher is a regex, groups will be interpolated.
Properties
kind
kind:
"ReplacerTerm"
term
term:
string
MatchReplaceReplacerWorkflow
MatchReplaceReplacerWorkflow =
object
A replacer that replaces with the result of a workflow. The input of the workflow depends on the operation and matcher.
Properties
kind
kind:
"ReplacerWorkflow"
workflowId
workflowId:
ID
MatchReplaceRule
MatchReplaceRule =
object
A rule in Match and Replace.
Properties
collectionId
collectionId:
ID
The ID of the collection the rule belongs to.
id
id:
ID
The ID of the rule.
isEnabled
isEnabled:
boolean
Whether the rule is enabled.
name
name:
string
The name of the rule.
query
query:
HTTPQL
The HTTPQL query to match the rule against. Only requests that match the query will be affected by the rule.
section
section:
MatchReplaceSection
The section of the rule.
MatchReplaceSDK
MatchReplaceSDK =
object
Utilities to interact with the Match and Replace page.
Properties
addToSlot
addToSlot:
DefineAddToSlotFn<MatchReplaceSlotContent>
Add a component to a slot.
Param
The slot to add the component to.
Param
The content to add to the slot.
Example
sdk.matchReplace.addToSlot(MatchReplaceSlot.UpdateHeader, {
type: "Button",
label: "My Button",
icon: "my-icon",
onClick: () => {
console.log("Button clicked");
},
});
sdk.matchReplace.addToSlot(MatchReplaceSlot.CreateHeader, {
type: "Custom",
definition: MyComponent,
});
sdk.matchReplace.addToSlot(MatchReplaceSlot.UpdateHeader, {
type: "Command",
commandId: "my-command",
icon: "my-icon",
});createCollection()
createCollection: (
options:object) =>Promise<MatchReplaceCollection>
Create a collection.
Parameters
| Parameter | Type | Description |
|---|---|---|
options | { name: string; } | The options for the collection. |
options.name | string | The name of the collection. |
Returns
Promise<MatchReplaceCollection>
createRule()
createRule: (
options:object) =>Promise<MatchReplaceRule>
Create a rule.
Parameters
| Parameter | Type | Description |
|---|---|---|
options | { collectionId: ID; name: string; query: HTTPQL; section: MatchReplaceSection; sources: Source[]; } | The options for the rule. |
options.collectionId | ID | The ID of the collection the rule belongs to. |
options.name | string | The name of the rule. |
options.query | HTTPQL | The HTTPQL query to match the rule against. |
options.section | MatchReplaceSection | - |
options.sources | Source[] | The sources the rule belongs to. |
Returns
Promise<MatchReplaceRule>
deleteCollection()
deleteCollection: (
id:ID) =>Promise<void>
Delete a collection.
Parameters
| Parameter | Type | Description |
|---|---|---|
id | ID | The ID of the collection. |
Returns
Promise<void>
deleteRule()
deleteRule: (
id:ID) =>Promise<void>
Delete a rule.
Parameters
| Parameter | Type | Description |
|---|---|---|
id | ID | The ID of the rule. |
Returns
Promise<void>
getActiveRules()
getActiveRules: () =>
MatchReplaceRule[]
Get all active rules. Rules are ordered in priority from highest to lowest.
Returns
All active rules.
getCollections()
getCollections: () =>
MatchReplaceCollection[]
Get all collections.
Returns
getRules()
getRules: () =>
MatchReplaceRule[]
Get all rules.
Returns
All rules.
selectRule()
selectRule: (
id:ID|undefined) =>void
Select a rule to be displayed in the UI.
Parameters
| Parameter | Type | Description |
|---|---|---|
id | ID | undefined | The ID of the rule, or undefined to clear the selection. |
Returns
void
toggleRule()
toggleRule: (
id:ID,enabled:boolean) =>Promise<void>
Toggle a rule.
Parameters
| Parameter | Type | Description |
|---|---|---|
id | ID | The ID of the rule. |
enabled | boolean | Whether the rule should be enabled. |
Returns
Promise<void>
updateCollection()
updateCollection: (
id:ID,options:object) =>Promise<MatchReplaceCollection>
Update a collection.
Parameters
| Parameter | Type | Description |
|---|---|---|
id | ID | The ID of the collection. |
options | { name: string; } | The new values for the collection. |
options.name | string | The new name of the collection. |
Returns
Promise<MatchReplaceCollection>
updateRule()
updateRule: (
id:ID,options:object) =>Promise<MatchReplaceRule>
Update a rule.
Parameters
| Parameter | Type | Description |
|---|---|---|
id | ID | The ID of the rule. |
options | { name: string; query?: HTTPQL; section: MatchReplaceSection; sources: Source[]; } | The new values for the rule. |
options.name | string | The new name of the rule. |
options.query? | HTTPQL | The new HTTPQL query of the rule. |
options.section | MatchReplaceSection | The new section of the rule. |
options.sources | Source[] | The new sources of the rule. |
Returns
Promise<MatchReplaceRule>
MatchReplaceSection
MatchReplaceSection =
MatchReplaceSectionRequestAll|MatchReplaceSectionRequestBody|MatchReplaceSectionRequestFirstLine|MatchReplaceSectionRequestHeader|MatchReplaceSectionRequestMethod|MatchReplaceSectionRequestPath|MatchReplaceSectionRequestQuery|MatchReplaceSectionRequestSNI|MatchReplaceSectionResponseAll|MatchReplaceSectionResponseBody|MatchReplaceSectionResponseFirstLine|MatchReplaceSectionResponseHeader|MatchReplaceSectionResponseStatusCode
A discriminated union of all possible match and replace sections.
MatchReplaceSectionRequestAll
MatchReplaceSectionRequestAll =
object
A section for the entire request.
Properties
kind
kind:
"SectionRequestAll"
operation
operation:
MatchReplaceOperationAll
MatchReplaceSectionRequestBody
MatchReplaceSectionRequestBody =
object
A section for the request body.
Properties
kind
kind:
"SectionRequestBody"
operation
operation:
MatchReplaceOperationBody
MatchReplaceSectionRequestFirstLine
MatchReplaceSectionRequestFirstLine =
object
A section for the request first line.
Properties
kind
kind:
"SectionRequestFirstLine"
operation
operation:
MatchReplaceOperationFirstLine
MatchReplaceSectionRequestHeader
MatchReplaceSectionRequestHeader =
object
A section for the request headers.
Properties
kind
kind:
"SectionRequestHeader"
operation
operation:
MatchReplaceOperationHeader
MatchReplaceSectionRequestMethod
MatchReplaceSectionRequestMethod =
object
A section for the request method.
Properties
kind
kind:
"SectionRequestMethod"
operation
operation:
MatchReplaceOperationMethod
MatchReplaceSectionRequestPath
MatchReplaceSectionRequestPath =
object
A section for the request path.
Properties
kind
kind:
"SectionRequestPath"
operation
operation:
MatchReplaceOperationPath
MatchReplaceSectionRequestQuery
MatchReplaceSectionRequestQuery =
object
A section for the request query string.
Properties
kind
kind:
"SectionRequestQuery"
operation
operation:
MatchReplaceOperationQuery
MatchReplaceSectionRequestSNI
MatchReplaceSectionRequestSNI =
object
A section for the request SNI.
Properties
kind
kind:
"SectionRequestSNI"
operation
operation:
MatchReplaceOperationSNI
MatchReplaceSectionResponseAll
MatchReplaceSectionResponseAll =
object
A section for the entire response.
Properties
kind
kind:
"SectionResponseAll"
operation
operation:
MatchReplaceOperationAll
MatchReplaceSectionResponseBody
MatchReplaceSectionResponseBody =
object
A section for the response body.
Properties
kind
kind:
"SectionResponseBody"
operation
operation:
MatchReplaceOperationBody
MatchReplaceSectionResponseFirstLine
MatchReplaceSectionResponseFirstLine =
object
A section for the response first line.
Properties
kind
kind:
"SectionResponseFirstLine"
operation
operation:
MatchReplaceOperationFirstLine
MatchReplaceSectionResponseHeader
MatchReplaceSectionResponseHeader =
object
A section for the response headers.
Properties
kind
kind:
"SectionResponseHeader"
operation
operation:
MatchReplaceOperationHeader
MatchReplaceSectionResponseStatusCode
MatchReplaceSectionResponseStatusCode =
object
A section for the response status code.
Properties
kind
kind:
"SectionResponseStatusCode"
operation
operation:
MatchReplaceOperationStatusCode
MatchReplaceSlotContent
MatchReplaceSlotContent =
object
Content that can be added to match and replace slots.
Properties
create-header
create-header:
ButtonSlotContent|CustomSlotContent|CommandSlotContent
update-header
update-header:
ButtonSlotContent|CustomSlotContent|CommandSlotContent
MatchReplaceSlot
constMatchReplaceSlot:object
The slots in the Match and Replace UI.
Type Declaration
CreateHeader
readonlyCreateHeader:"create-header"
The header area of the rule form create component.
UpdateHeader
readonlyUpdateHeader:"update-header"
The header area of the rule form update component.
Source
constSource:object
The source of a match and replace rule.
Type Declaration
Automate
readonlyAutomate:"AUTOMATE"
Intercept
readonlyIntercept:"INTERCEPT"
Plugin
readonlyPlugin:"PLUGIN"
Replay
readonlyReplay:"REPLAY"
Sample
readonlySample:"SAMPLE"
Workflow
readonlyWorkflow:"WORKFLOW"
