docs-v2/content/flux/v0/stdlib/http/endpoint.md

2.2 KiB

title description menu weight flux/v0/tags
http.endpoint() function `http.endpoint()` iterates over input data and sends a single POST request per input row to a specified URL.
flux_v0_ref
name parent identifier
http.endpoint http http/endpoint
101
notification endpoints

http.endpoint() iterates over input data and sends a single POST request per input row to a specified URL.

This function is designed to be used with monitor.notify().

http.endpoint() outputs a function that requires a mapFn parameter. mapFn is the function that builds the record used to generate the POST request. It accepts a table row (r) and returns a record that must include the following properties:

  • headers
  • data

For information about properties, see http.post.

Function type signature
(
    url: string,
) => (mapFn: (r: A) => {B with headers: C, data: bytes}) => (<-tables: stream[A]) => stream[{A with _sent: string}] where C: Record

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

Parameters

url

({{< req >}}) URL to send the POST request to.

Examples

Send an HTTP POST request for each row

import "http"
import "sampledata"

endpoint =
    http.endpoint(url: "http://example.com/")(
        mapfn: (r) =>
            ({
                headers: {header1: "example1", header2: "example2"},
                data: bytes(v: "The value is ${r._value}"),
            }),
    )

sampledata.int()
    |> endpoint()