---
title: requests.do() function
description: requests.do() makes an http request.
url: https://docs.influxdata.com/flux/v0/stdlib/http/requests/do/
estimated_tokens: 2250
product: Flux
version: v0
---

# requests.do() function

-   Flux 0.173.0+
-   View InfluxDB support

`requests.do()` makes an http request.

The returned response contains the following properties:

-   statusCode: HTTP status code returned from the request.
-   body: Contents of the request. A maximum size of 100MB will be read from the response body.
-   headers: Headers present on the response.
-   duration: Duration of request.

##### Function type signature

```js
(
    method: string,
    url: string,
    ?body: bytes,
    ?config: {A with timeout: duration, insecureSkipVerify: bool},
    ?headers: [string:string],
    ?params: [string:[string]],
) => {statusCode: int, headers: [string:string], duration: duration, body: bytes}
```

For more information, see [Function type signatures](/flux/v0/function-type-signatures/).

## Parameters

### method

(Required) method of the http request. Supported methods: DELETE, GET, HEAD, PATCH, POST, PUT.

### url

(Required) URL to request. This should not include any query parameters.

### params

Set of key value pairs to add to the URL as query parameters. Query parameters will be URL encoded. All values for a key will be appended to the query.

### headers

Set of key values pairs to include on the request.

### body

Data to send with the request.

### config

Set of options to control how the request should be performed.

## Examples

-   [Make a GET request](#make-a-get-request)
-   [Make a GET request that needs authorization](#make-a-get-request-that-needs-authorization)
-   [Make a GET request with query parameters](#make-a-get-request-with-query-parameters)

### Make a GET request

```js
import "http/requests"

response = requests.do(url: "http://example.com", method: "GET")

requests.peek(response: response)
```

### Make a GET request that needs authorization

```js
import "http/requests"
import "influxdata/influxdb/secrets"

token = secrets.get(key: "TOKEN")

response =
    requests.do(
        method: "GET",
        url: "http://example.com",
        headers: ["Authorization": "token ${token}"],
    )

requests.peek(response: response)
```

### Make a GET request with query parameters

```js
import "http/requests"

response = requests.do(method: "GET", url: "http://example.com", params: ["start": ["100"]])

requests.peek(response: response)
```

[http](/flux/v0/tags/http/) [inputs](/flux/v0/tags/inputs/)
