# http

## assertCookie

Assert if HTTP cookie is presented in the response

**Parameters:**

| Name                 | Type     | Description                                       |
| -------------------- | -------- | ------------------------------------------------- |
| `cookieName`         | `String` | A HTTP cookie name.                               |
| `cookieValuePattern` | `String` | `optional` An optional HTTP cookie value pattern. |

## assertHeader

Assert if HTTP header is presented in the response

**Parameters:**

| Name                 | Type     | Description                                       |
| -------------------- | -------- | ------------------------------------------------- |
| `headerName`         | `String` | A HTTP header name.                               |
| `headerValuePattern` | `String` | `optional` An optional HTTP header value pattern. |

## assertResponseTime

Assert response time

**Parameters:**

| Name      | Type     | Description                            |
| --------- | -------- | -------------------------------------- |
| `maxTime` | `Number` | Maximum response time in milliseconds. |

## assertStatus

Assert the last HTTP response's status code

**Parameters:**

| Name       | Type              | Description                              |
| ---------- | ----------------- | ---------------------------------------- |
| `codeList` | `Number`\|`Array` | A single status code or a list of codes. |

## assertStatusOk

Assert HTTP 200 OK status

## assertText

Assert whether the specified pattern is present in the response body.

**Parameters:**

| Name      | Type     | Description        |
| --------- | -------- | ------------------ |
| `pattern` | `String` | Pattern to assert. |

## delete

Performs HTTP DELETE

**Parameters:**

| Name      | Type     | Description              |
| --------- | -------- | ------------------------ |
| `url`     | `String` | URL.                     |
| `headers` | `Object` | `optional` HTTP headers. |
| `data`    | `Object` | Data.                    |

**Returns:**

`Object` - Response object.

## get

Performs HTTP GET

\*\* Usage example:\*\*

```javascript
// Basic usage example:
var response = http.get(
'https://api.github.com/repos/oxygenhq/oxygen-ide/releases', 
{
 'Accept-Encoding': 'gzip, deflate',
 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0'
});
log.info(response.body);

// If server returns Deflate-compressed stream without headers, `deflateRaw` can be used to decompress the content.
http.setOptions({
 deflateRaw: true
});
var response = http.get('https://FOO.BAR');
log.info(response.body);
```

**Parameters:**

| Name      | Type     | Description              |
| --------- | -------- | ------------------------ |
| `url`     | `String` | URL.                     |
| `headers` | `Object` | `optional` HTTP headers. |

**Returns:**

`Object` - Response object.

## getResponse

Returns last response object

**Returns:**

`Object` - Response object.

## getResponseBody

Returns last response body

**Returns:**

`String` - Response body.

## getResponseHeaders

Returns response headers

**Returns:**

`Object` - Response headers.

## getResponseUrl

Returns response URL

**Returns:**

`String` - Response URL.

## patch

Performs HTTP PATCH

**Parameters:**

| Name      | Type     | Description              |
| --------- | -------- | ------------------------ |
| `url`     | `String` | URL.                     |
| `data`    | `Object` | Data.                    |
| `headers` | `Object` | `optional` HTTP headers. |

**Returns:**

`Object` - Response object.

## post

Performs HTTP POST

**Parameters:**

| Name         | Type      | Description                                                           |
| ------------ | --------- | --------------------------------------------------------------------- |
| `url`        | `String`  | URL.                                                                  |
| `data`       | `Object`  | Data.                                                                 |
| `headers`    | `Object`  | `optional` HTTP headers.                                              |
| `isFormData` | `Boolean` | `optional` Indicates if "data" parameter is of URL-encoded form type. |

**Returns:**

`Object` - Response object.

## put

Performs HTTP PUT

**Parameters:**

| Name      | Type     | Description              |
| --------- | -------- | ------------------------ |
| `url`     | `String` | URL.                     |
| `data`    | `Object` | Data.                    |
| `headers` | `Object` | `optional` HTTP headers. |

**Returns:**

`Object` - Response object.

## setNtlmUser

Sets user credentials for NTLM authentication process

**Parameters:**

| Name       | Type     | Description                                                                                                                                                                                         |
| ---------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `username` | `String` | NTLM username.                                                                                                                                                                                      |
| `password` | `String` | NTLM password.                                                                                                                                                                                      |
| `domain`   | `String` | `optional` NTLM domain name, if applicable.In addition to the options listed in the linked document, 'deflateRaw' option can be used when server returns Deflate-compressed stream without headers. |

## setOptions

Sets user defined HTTP options (such as proxy, decompress and etc.)

**Parameters:**

| Name   | Type     | Description                                                                                                                                                                                                                                                                            |
| ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `opts` | `Object` | HTTP request options object, see [Request Options](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md). In addition to the options listed in the linked document, 'deflateRaw' option can be used when server returns Deflate-compressed stream without headers. |

## setProxy

Sets proxy url to be used for connections with the service.

**Parameters:**

| Name  | Type     | Description                                                                |
| ----- | -------- | -------------------------------------------------------------------------- |
| `url` | `String` | Proxy server URL. Not passing this argument will reset the proxy settings. |

## transaction

Opens new transaction.

The transaction will persist till a new one is opened. Transaction names must be unique.

**Parameters:**

| Name   | Type     | Description           |
| ------ | -------- | --------------------- |
| `name` | `String` | The transaction name. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.oxygenhq.org/download-installation-start/modules/module-http.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
