Back to Influxdb

requests.peek() function

content/flux/v0/stdlib/http/requests/peek.md

latest3.9 KB
Original Source
<!------------------------------------------------------------------------------ IMPORTANT: This page was generated from comments in the Flux source code. Any edits made directly to this page will be overwritten the next time the documentation is generated. To make updates to this documentation, update the function comments above the function definition in the Flux source code: https://github.com/influxdata/flux/blob/master/stdlib/http/requests/requests.flux#L321-L331 Contributing to Flux: https://github.com/influxdata/flux#contributing Fluxdoc syntax: https://github.com/influxdata/flux/blob/master/docs/fluxdoc.md ------------------------------------------------------------------------------->

requests.peek() converts an HTTP response into a table for easy inspection.

The output table includes the following columns:

  • body with the response body as a string
  • statusCode with the returned status code as an integer
  • headers with a string representation of the headers
  • duration the duration of the request as a number of nanoseconds

To customize how the response data is structured in a table, use array.from() with a function like json.parse(). Parse the response body into a set of values and then use array.from() to construct a table from those values.

Function type signature
js
(
    response: {A with statusCode: E, headers: D, duration: C, body: B},
) => stream[{statusCode: E, headers: string, duration: int, body: string}]

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

Parameters

response

({{< req >}}) Response data from an HTTP request.

Examples

Inspect the response of an HTTP request

js
import "http/requests"

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

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

Output data

bodydurationheadersstatusCode
{"age":49,"count":25082,"name":"natalie"}100000000[
Access-Control-Allow-Credentials: true, 
Access-Control-Allow-Origin: *, 
Access-Control-Expose-Headers: x-rate-limit-limit,x-rate-limit-remaining,x-rate-limit-reset, 
Cache-Control: max-age=0, private, must-revalidate, 
Connection: keep-alive, 
Content-Length: 41, 
Content-Type: application/json; charset=utf-8, 
Date: Thu, 06 Apr 2023 15:02:20 GMT, 
Server: nginx/1.16.1, 
X-Rate-Limit-Limit: 1000, 
X-Rate-Limit-Remaining: 996, 
X-Rate-Limit-Reset: 32260, 
X-Request-Id: F1Ngo2ONCVHEd4xL1UeB

] | 200 |

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