docs-v2/content/flux/v0/stdlib/http/requests/get.md

3.1 KiB

title description menu weight flux/v0/tags
requests.get() function `requests.get()` makes a http GET request. This identical to calling `request.do(method: "GET", ...)`.
flux_v0_ref
name parent identifier
requests.get http/requests http/requests/get
201
http
inputs

requests.get() makes a http GET request. This identical to calling request.do(method: "GET", ...).

Function type signature
(
    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}

{{% caption %}} For more information, see Function type signatures. {{% /caption %}}

Parameters

url

({{< req >}}) 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

import "http/requests"

response = requests.get(url: "http://example.com")

requests.peek(response: response)

Make a GET request and decode the JSON response

import "http/requests"
import "experimental/json"
import "array"

response = requests.get(url: "https://api.agify.io", params: ["name": ["nathaniel"]])

// api.agify.io returns JSON with the form
//
// {
//    name: string,
//    age: number,
//    count: number,
// }
//
// Define a data variable that parses the JSON response body into a Flux record.
data = json.parse(data: response.body)

// Use array.from() to construct a table with one row containing our response data.
// We do not care about the count so only include name and age.
array.from(rows: [{name: data.name, age: data.age}])

{{< expand-wrapper >}} {{% expand "View example output" %}}

Output data

name age
nathaniel 61

{{% /expand %}} {{< /expand-wrapper >}}