### ----------------------------------------------------
### -- Zap
### -- Licenses: Artistic-2.0
### -- Authors: Khalid Elboray
### -- File: README.md
### ----------------------------------------------------
### -- Chunk 3 of 3
ChainPrompt(
    :$Boolean!
) returns Mu
```

No Doc

### method setOptionProxyChainRealm

```perl6
method setOptionProxyChainRealm(
    :$String!
) returns Mu
```

No Doc

### method setOptionProxyChainSkipName

```perl6
method setOptionProxyChainSkipName(
    :$String!
) returns Mu
```

Use actions [add|modify|remove]ProxyChainExcludedDomain instead.

### method setOptionProxyChainUserName

```perl6
method setOptionProxyChainUserName(
    :$String!
) returns Mu
```

No Doc

### method setOptionSingleCookieRequestHeader

```perl6
method setOptionSingleCookieRequestHeader(
    :$Boolean!
) returns Mu
```

No Doc

### method setOptionTimeoutInSecs

```perl6
method setOptionTimeoutInSecs(
    :$Integer!
) returns Mu
```

Sets the connection time out, in seconds.

### method setOptionUseProxyChain

```perl6
method setOptionUseProxyChain(
    :$Boolean!
) returns Mu
```

Sets whether or not the outgoing proxy should be used. The address/hostname of the outgoing proxy must be set to enable this option.

### method setOptionUseProxyChainAuth

```perl6
method setOptionUseProxyChainAuth(
    :$Boolean!
) returns Mu
```

No Doc

### method shutdown

```perl6
method shutdown() returns Mu
```

Shuts down ZAP

### method snapshotSession

```perl6
method snapshotSession(
    :$name,
    :$overwrite
) returns Mu
```

Snapshots the session, optionally with the given name, and overwriting existing files. If no name is specified the name of the current session with a timestamp appended is used. If a relative path is specified it will be resolved against the "session" directory in ZAP "home" dir.

class Zap::Users
----------------

class `Zap::Users` Methods

### method newUser

```perl6
method newUser(
    :$contextId!,
    :$name!
) returns Mu
```

Creates a new user with the given name for the context with the given ID.

### method removeUser

```perl6
method removeUser(
    :$contextId!,
    :$userId!
) returns Mu
```

Removes the user with the given ID that belongs to the context with the given ID.

### method setAuthenticationCredentials

```perl6
method setAuthenticationCredentials(
    :$contextId!,
    :$userId!,
    :$authCredentialsConfigParams
) returns Mu
```

Sets the authentication credentials for the user with the given ID that belongs to the context with the given ID.

### method setUserEnabled

```perl6
method setUserEnabled(
    :$contextId!,
    :$userId!,
    :$enabled!
) returns Mu
```

Sets whether or not the user, with the given ID that belongs to the context with the given ID, should be enabled.

### method setUserName

```perl6
method setUserName(
    :$contextId!,
    :$userId!,
    :$name!
) returns Mu
```

Renames the user with the given ID that belongs to the context with the given ID.

### method getUserById

```perl6
method getUserById(
    :$contextId!,
    :$userId!
) returns Mu
```

Gets the data of the user with the given ID that belongs to the context with the given ID.

### method usersList

```perl6
method usersList(
    :$contextId
) returns Mu
```

Gets a list of users that belong to the context with the given ID, or all users if none provided.

class Zap::Acsrf
----------------

class `Zap::Acsrf` Methods

### method removeOptionToken

```perl6
method removeOptionToken(
    :$String!
) returns Mu
```

Removes the anti-CSRF token with the given name

### method genForm

```perl6
method genForm(
    :$hrefId!
) returns Mu
```

Generate a form for testing lack of anti-CSRF tokens - typically invoked via ZAP

class Zap::Search
-----------------

class `Zap::Search` Methods

### method harByHeaderRegex

```perl6
method harByHeaderRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the HTTP messages, in HAR format, that match the given regular expression in the header(s) optionally filtered by URL and paginated with 'start' position and 'count' of messages.

### method harByRequestRegex

```perl6
method harByRequestRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the HTTP messages, in HAR format, that match the given regular expression in the request optionally filtered by URL and paginated with 'start' position and 'count' of messages.

### method harByResponseRegex

```perl6
method harByResponseRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the HTTP messages, in HAR format, that match the given regular expression in the response optionally filtered by URL and paginated with 'start' position and 'count' of messages.

### method harByUrlRegex

```perl6
method harByUrlRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the HTTP messages, in HAR format, that match the given regular expression in the URL optionally filtered by URL and paginated with 'start' position and 'count' of messages.

### method messagesByResponseRegex

```perl6
method messagesByResponseRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the HTTP messages that match the given regular expression in the response optionally filtered by URL and paginated with 'start' position and 'count' of messages.

### method messagesByUrlRegex

```perl6
method messagesByUrlRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the HTTP messages that match the given regular expression in the URL optionally filtered by URL and paginated with 'start' position and 'count' of messages.

### method urlsByHeaderRegex

```perl6
method urlsByHeaderRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the URLs of the HTTP messages that match the given regular expression in the header(s) optionally filtered by URL and paginated with 'start' position and 'count' of messages.

### method urlsByRequestRegex

```perl6
method urlsByRequestRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the URLs of the HTTP messages that match the given regular expression in the request optionally filtered by URL and paginated with 'start' position and 'count' of messages.

### method urlsByResponseRegex

```perl6
method urlsByResponseRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the URLs of the HTTP messages that match the given regular expression in the response optionally filtered by URL and paginated with 'start' position and 'count' of messages.

### method urlsByUrlRegex

```perl6
method urlsByUrlRegex(
    :$regex!,
    :$baseurl,
    :$start,
    :$count
) returns Mu
```

Returns the URLs of the HTTP messages that match the given regular expression in the URL optionally filtered by URL and paginated with 'start' position and 'count' of messages.

class Zap::Replacer
-------------------

class `Zap::Replacer` Methods

### method removeRule

```perl6
method removeRule(
    :$description!
) returns Mu
```

Removes the rule with the given description

### method setEnabled

```perl6
method setEnabled(
    :$description!,
    :$bool!
) returns Mu
```

Enables or disables the rule with the given description based on the bool parameter

class Zap::Context
------------------

class `Zap::Context` Methods

### method excludeAllContextTechnologies

```perl6
method excludeAllContextTechnologies(
    :$contextName!
) returns Mu
```

Excludes all built in technologies from a context

### method excludeContextTechnologies

```perl6
method excludeContextTechnologies(
    :$contextName!,
    :$technologyNames!
) returns Mu
```

Excludes technologies with the given names, separated by a comma, from a context

### method excludeFromContext

```perl6
method excludeFromContext(
    :$contextName!,
    :$regex!
) returns Mu
```

Add exclude regex to context

### method exportContext

```perl6
method exportContext(
    :$contextName!,
    :$contextFile!
) returns Mu
```

Exports the context with the given name to a file. If a relative file path is specified it will be resolved against the "contexts" directory in ZAP "home" dir.

### method importContext

```perl6
method importContext(
    :$contextFile!
) returns Mu
```

Imports a context from a file. If a relative file path is specified it will be resolved against the "contexts" directory in ZAP "home" dir.

### method includeAllContextTechnologies

```perl6
method includeAllContextTechnologies(
    :$contextName!
) returns Mu
```

Includes all built in technologies in to a context

### method includeContextTechnologies

```perl6
method includeContextTechnologies(
    :$contextName!,
    :$technologyNames!
) returns Mu
```

Includes technologies with the given names, separated by a comma, to a context

### method includeInContext

```perl6
method includeInContext(
    :$contextName!,
    :$regex!
) returns Mu
```

Add include regex to context

### method newContext

```perl6
method newContext(
    :$contextName!
) returns Mu
```

Creates a new context with the given name in the current session

### method removeContext

```perl6
method removeContext(
    :$contextName!
) returns Mu
```

Removes a context in the current session

### method setContextInScope

```perl6
method setContextInScope(
    :$contextName!,
    :$booleanInScope!
) returns Mu
```

Sets a context to in scope (contexts are in scope by default)

### method setContextRegexs

```perl6
method setContextRegexs(
    :$contextName!,
    :$incRegexs!,
    :$excRegexs!
) returns Mu
```

Set the regexs to include and exclude for a context, both supplied as JSON string arrays

### method excludeRegexs

```perl6
method excludeRegexs(
    :$contextName!
) returns Mu
```

List excluded regexs for context

### method excludedTechnologyList

```perl6
method excludedTechnologyList(
    :$contextName!
) returns Mu
```

Lists the names of all technologies excluded from a context

### method includeRegexs

```perl6
method includeRegexs(
    :$contextName!
) returns Mu
```

List included regexs for context

### method includedTechnologyList

```perl6
method includedTechnologyList(
    :$contextName!
) returns Mu
```

Lists the names of all technologies included in a context

### method technologyList

```perl6
method technologyList() returns Mu
```

Lists the names of all built in technologies

### method urls

```perl6
method urls(
    :$contextName!
) returns Mu
```

Lists the URLs accessed through/by ZAP, that belong to the context with the given name.

class Zap::Autoupdate
---------------------

class `Zap::Autoupdate` Methods

### method downloadLatestRelease

```perl6
method downloadLatestRelease() returns Mu
```

Downloads the latest release, if any

### method installAddon

```perl6
method installAddon(
    :$id!
) returns Mu
```

Installs or updates the specified add-on, returning when complete (i.e. not asynchronously)

### method setOptionCheckAddonUpdates

```perl6
method setOptionCheckAddonUpdates(
    :$Boolean!
) returns Mu
```

No Doc

### method setOptionCheckOnStart

```perl6
method setOptionCheckOnStart(
    :$Boolean!
) returns Mu
```

No Doc

### method setOptionDownloadNewRelease

```perl6
method setOptionDownloadNewRelease(
    :$Boolean!
) returns Mu
```

No Doc

### method setOptionInstallAddonUpdates

```perl6
method setOptionInstallAddonUpdates(
    :$Boolean!
) returns Mu
```

No Doc

### method setOptionInstallScannerRules

```perl6
method setOptionInstallScannerRules(
    :$Boolean!
) returns Mu
```

No Doc

### method setOptionReportAlphaAddons

```perl6
method setOptionReportAlphaAddons(
    :$Boolean!
) returns Mu
```

No Doc

### method setOptionReportBetaAddons

```perl6
method setOptionReportBetaAddons(
    :$Boolean!
) returns Mu
```

No Doc

### method setOptionReportReleaseAddons

```perl6
method setOptionReportReleaseAddons(
    :$Boolean!
) returns Mu
```

No Doc

### method uninstallAddon

```perl6
method uninstallAddon(
    :$id!
) returns Mu
```

Uninstalls the specified add-on

### method latestVersionNumber

```perl6
method latestVersionNumber() returns Mu
```

Returns the latest version number

### method localAddons

```perl6
method localAddons() returns Mu
```

Returns a list with all local add-ons, installed or not.

### method marketplaceAddons

```perl6
method marketplaceAddons() returns Mu
```

Return a list of all of the add-ons on the ZAP Marketplace (this information is read once and then cached)

### method newAddons

```perl6
method newAddons() returns Mu
```

Return a list of any add-ons that have been added to the Marketplace since the last check for updates

### method optionAddonDirectories

```perl6
method optionAddonDirectories() returns Mu
```

No Doc

### method optionCheckAddonUpdates

```perl6
method optionCheckAddonUpdates() returns Mu
```

No Doc

### method optionCheckOnStart

```perl6
method optionCheckOnStart() returns Mu
```

No Doc

### method optionDayLastChecked

```perl6
method optionDayLastChecked() returns Mu
```

No Doc

### method optionDayLastInstallWarned

```perl6
method optionDayLastInstallWarned() returns Mu
```

No Doc

### method optionDayLastUpdateWarned

```perl6
method optionDayLastUpdateWarned() returns Mu
```

No Doc

### method optionDownloadDirectory

```perl6
method optionDownloadDirectory() returns Mu
```

No Doc

### method optionDownloadNewRelease

```perl6
method optionDownloadNewRelease() returns Mu
```

No Doc

### method optionInstallAddonUpdates

```perl6
method optionInstallAddonUpdates() returns Mu
```

No Doc

### method optionInstallScannerRules

```perl6
method optionInstallScannerRules() returns Mu
```

No Doc

### method optionReportAlphaAddons

```perl6
method optionReportAlphaAddons() returns Mu
```

No Doc

### method optionReportBetaAddons

```perl6
method optionReportBetaAddons() returns Mu
```

No Doc

### method optionReportReleaseAddons

```perl6
method optionReportReleaseAddons() returns Mu
```

No Doc

### method updatedAddons

```perl6
method updatedAddons() returns Mu
```

Return a list of any add-ons that have been changed in the Marketplace since the last check for updates

class Zap::Alert
----------------

class `Zap::Alert` Methods

### method addAlert

```perl6
method addAlert(
    :$messageId!,
    :$name!,
    :$riskId!,
    :$confidenceId!,
    :$description!,
    :$param,
    :$attack,
    :$otherInfo,
    :$solution,
    :$references,
    :$evidence,
    :$cweId,
    :$wascId
) returns Mu
```

Add an alert associated with the given message ID, with the provided details. (The ID of the created alert is returned.)

### method deleteAlert

```perl6
method deleteAlert(
    :$id!
) returns Mu
```

Deletes the alert with the given ID.

### method deleteAllAlerts

```perl6
method deleteAllAlerts() returns Mu
```

Deletes all alerts of the current session.

### method updateAlert

```perl6
method updateAlert(
    :$id!,
    :$name!,
    :$riskId!,
    :$confidenceId!,
    :$description!,
    :$param,
    :$attack,
    :$otherInfo,
    :$solution,
    :$references,
    :$evidence,
    :$cweId,
    :$wascId
) returns Mu
```

Update the alert with the given ID, with the provided details.

### method alerts

```perl6
method alerts(
    :$baseurl,
    :$start,
    :$count,
    :$riskId
) returns Mu
```

Gets the alerts raised by ZAP, optionally filtering by URL or riskId, and paginating with 'start' position and 'count' of alerts

### method alertsByRisk

```perl6
method alertsByRisk(
    :$url,
    :$recurse
) returns Mu
```

Gets a summary of the alerts, optionally filtered by a 'url'. If 'recurse' is true then all alerts that apply to urls that start with the specified 'url' will be returned, otherwise only those on exactly the same 'url' (ignoring url parameters)

### method alertsSummary

```perl6
method alertsSummary(
    :$baseurl
) returns Mu
```

Gets number of alerts grouped by each risk level, optionally filtering by URL

### method numberOfAlerts

```perl6
method numberOfAlerts(
    :$baseurl,
    :$riskId
) returns Mu
```

Gets the number of alerts, optionally filtering by URL or riskId



