Skip to main content

http-client

HTTP client bindings for ESP32 Provides comprehensive HTTP client functionality for making web requests

export enum HttpMethod {
Get = 0,
Post = 1,
Put = 2,
Delete = 3,
Head = 4,
Patch = 5,
Options = 6
}

export enum HttpError {
Ok = 0,
InvalidArg = 1,
ConnectFail = 2,
NoMemory = 3,
Timeout = 4,
InvalidResponse = 5
}


// @ts-ignore
@external("http_client", "http_client_config_create")
export declare function httpClientConfigCreate(): u32;


// @ts-ignore
@external("http_client", "http_client_config_set_method")
export declare function httpClientConfigSetMethod(config: u32, method: i32): void;


// @ts-ignore
@external("http_client", "http_client_config_set_url")
export declare function httpClientConfigSetUrl(config: u32, url: u32): void;


// @ts-ignore
@external("http_client", "http_client_config_destroy")
export declare function httpClientConfigDestroy(config: u32): void;


// @ts-ignore
@external("http_client", "http_client_init")
export declare function httpClientInit(config: u32): u32;


// @ts-ignore
@external("http_client", "http_client_set_header")
export declare function httpClientSetHeader(client: i32, key: u32, value: u32): i32;


// @ts-ignore
@external("http_client", "http_client_open")
export declare function httpClientOpen(client: i32, len: i32): i32;


// @ts-ignore
@external("http_client", "http_client_write")
export declare function httpClientWrite(client: i32, buffer: i32, len: i32): i32;


// @ts-ignore
@external("http_client", "http_client_perform")
export declare function httpClientPerform(client: i32): i32;


// @ts-ignore
@external("http_client", "http_client_get_content_length")
export declare function httpClientGetContentLength(client: i32): i32;


// @ts-ignore
@external("http_client", "http_client_cleanup")
export declare function httpClientCleanup(client: i32): i32;


// @ts-ignore
@external("http_client", "http_client_set_post_field")
export declare function httpClientSetPostField(client: i32, data: i32, len: i32): i32;


// @ts-ignore
@external("http_client", "http_client_fetch_headers")
export declare function httpClientFetchHeaders(client: i32): i32;


// @ts-ignore
@external("http_client", "http_client_read_response")
export declare function httpClientReadResponse(client: i32, buffer: i32, len: i32): i32;


// @ts-ignore
@external("http_client", "http_client_get_status_code")
export declare function httpClientGetStatusCode(client: i32): i32;