graphix-package-http 0.8.0

A dataflow language for UIs and network programming, http package
Documentation
let add_auth = |bearer, base| select bearer {
    string as b => array::concat(base, [("authorization", "Bearer [b]")]),
    null as _ => base
};

let get = |#bearer: [string, null] = null, #headers: Array<(string, string)> = [], client, url|
    request(
        #headers: array::concat(add_auth(bearer, [("accept", "application/json")]), headers),
        client,
        url
    );

let post = |#bearer: [string, null] = null, #headers: Array<(string, string)> = [], #body: string, client, url|
    request(
        #method: `POST,
        #headers: array::concat(add_auth(bearer, [("content-type", "application/json"), ("accept", "application/json")]), headers),
        #body: body,
        client,
        url
    );

let put = |#bearer: [string, null] = null, #headers: Array<(string, string)> = [], #body: string, client, url|
    request(
        #method: `PUT,
        #headers: array::concat(add_auth(bearer, [("content-type", "application/json"), ("accept", "application/json")]), headers),
        #body: body,
        client,
        url
    );

let delete = |#bearer: [string, null] = null, #headers: Array<(string, string)> = [], client, url|
    request(
        #method: `DELETE,
        #headers: array::concat(add_auth(bearer, [("accept", "application/json")]), headers),
        client,
        url
    );

let patch = |#bearer: [string, null] = null, #headers: Array<(string, string)> = [], #body: string, client, url|
    request(
        #method: `PATCH,
        #headers: array::concat(add_auth(bearer, [("content-type", "application/json"), ("accept", "application/json")]), headers),
        #body: body,
        client,
        url
    )