File Explorer

/var/runtime/node_modules/@aws-sdk/node_modules/aws-crt/dist/native

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

binding.d.ts19.4 KB · 571 lines
/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ /** * This module is internal-only and not exported. * * @packageDocumentation * @module binding */ import { InputStream, TlsContextOptions } from "./io";import {AwsSigningConfig, CognitoCredentialsProviderConfig, X509CredentialsConfig} from "./auth";import { HttpHeader, HttpHeaders as CommonHttpHeaders } from "../common/http";import { OnMessageCallback, QoS } from "../common/mqtt";import { Mqtt5ClientConfig, Mqtt5Client, ClientStatistics, NegotiatedSettings } from "./mqtt5";import * as mqtt5_packet from "../common/mqtt5_packet";import { PublishCompletionResult } from "../common/mqtt5";import * as eventstream from "./eventstream";import { ConnectionStatistics } from "./mqtt";import * as mqtt_request_response from "../native/mqtt_request_response";import * as mqtt_shared from "../common/mqtt_shared";  /** * Type used to store pointers to CRT native resources * @internal */type NativeHandle = any; /** * Polymorphic union of types that we convert to byte sequences in native. */export type StringLike = string | ArrayBuffer | ArrayBufferView; /* common *//** @internal */export function native_memory(): number;/** @internal */export function native_memory_dump(): void;/** @internal */export function error_code_to_string(error_code: number): string;/** @internal */export function error_code_to_name(error_code: number): string;/** @internal */export function disable_threadsafe_function(): number; /* IO *//** @internal */export function io_logging_enable(log_level: number): void;/** @internal */export function is_alpn_available(): boolean;/* wraps aws_client_bootstrap #TODO: Wrap with ClassBinder *//** @internal */export function io_client_bootstrap_new(): NativeHandle;/* wraps aws_tls_context #TODO: Wrap with ClassBinder *//** @internal */export function io_tls_cipher_preference_is_supported(    tls_cipher_policy: number,): boolean;/** @internal */export function io_tls_ctx_new(    min_tls_version: number,    ca_filepath?: StringLike,    ca_dirpath?: StringLike,    certificate_authority?: StringLike,    alpn_list?: StringLike,    certificate_filepath?: StringLike,    certificate?: StringLike,    private_key_filepath?: StringLike,    private_key?: StringLike,    pkcs12_filepath?: StringLike,    pkcs12_password?: StringLike,    pkcs11_options?: TlsContextOptions.Pkcs11Options,    windows_cert_store_path?: StringLike,    tls_cipher_policy?: number,    verify_peer?: boolean,): NativeHandle;/* wraps aws_tls_connection_options #TODO: Wrap with ClassBinder *//** @internal */export function io_tls_connection_options_new(    tls_ctx: NativeHandle,    server_name?: StringLike,    alpn_list?: StringLike): NativeHandle;/* wraps aws_socket_options #TODO: Wrap with ClassBinder *//** @internal */export function io_socket_options_new(    type: number,    domain: number,    connect_timeout_ms: number,    keep_alive_interval_sec: number,    keep_alive_timeout_sec: number,    keep_alive_max_failed_probes: number,    keepalive: boolean): NativeHandle; /* wraps aws_input_stream #TODO: Wrap with ClassBinder *//** @internal */export function io_input_stream_new(capacity: number): NativeHandle;/** @internal */export function io_input_stream_append(stream: NativeHandle, data?: Buffer): void; /* wraps aws_pkcs11_lib *//** @internal */export function io_pkcs11_lib_new(path: string, behavior: number): NativeHandle;/** @internal */export function io_pkcs11_lib_close(pkcs11_lib: NativeHandle): void; /* Crypto *//* wraps aws_hash structures #TODO: Wrap with ClassBinder *//** @internal */export function hash_md5_new(): void;/** @internal */export function hash_sha256_new(): void;/** @internal */export function hash_sha1_new(): void;/** @internal */export function hash_update(handle: NativeHandle, data: StringLike): void;/** @internal */export function hash_digest(handle: NativeHandle, truncate_to?: number): DataView; /** @internal */export function hash_md5_compute(data: StringLike, truncate_to?: number): DataView;/** @internal */export function hash_sha256_compute(data: StringLike, truncate_to?: number): DataView;/** @internal */export function hash_sha1_compute(data: StringLike, truncate_to?: number): DataView; /** @internal */export function hmac_md5_new(secret: StringLike): void;/** @internal */export function hmac_sha256_new(secret: StringLike): void;/** @internal */export function hmac_update(handle: NativeHandle, data: StringLike): void;/** @internal */export function hmac_digest(handle: NativeHandle, truncate_to?: number): DataView; /** @internal */export function hmac_md5_compute(secret: StringLike, data: StringLike, truncate_to?: number): DataView;/** @internal */export function hmac_sha256_compute(secret: StringLike, data: StringLike, truncate_to?: number): DataView; /* Checksums *//* wraps aws_checksums functions */ /** @internal */export function checksums_crc32(data: StringLike, previous?: number): number;/** @internal */export function checksums_crc32c(data: StringLike, previous?: number): number;/** @internal */export function checksums_crc64nvme(data: StringLike, previous?: DataView): DataView; /* MQTT Request-Response Client */ /** @internal */export function mqtt_request_response_client_new_from_5(    client: mqtt_request_response.RequestResponseClient,    protocolClient: NativeHandle,    options: mqtt_request_response.RequestResponseClientOptions): NativeHandle; /** @internal */export function mqtt_request_response_client_new_from_311(    client: mqtt_request_response.RequestResponseClient,    protocolClient: NativeHandle,    options: mqtt_request_response.RequestResponseClientOptions): NativeHandle; /** @internal */export function mqtt_request_response_client_close(client: NativeHandle) : void; /** @internal */export function mqtt_request_response_client_submit_request(client: NativeHandle, request_options: mqtt_request_response.RequestResponseOperationOptions, on_completion: (errorCode: number, topic?: string, response?: ArrayBuffer) => void) : void; /** @internal */export function mqtt_streaming_operation_new(    operation: mqtt_request_response.StreamingOperationBase,    client: NativeHandle,    options: mqtt_request_response.StreamingOperationOptions,    on_subscription_status_update_handler: (streamingOperation: mqtt_request_response.StreamingOperationBase, type: mqtt_request_response.SubscriptionStatusEventType, error_code: number) => void,    on_incoming_publish_handler: (streamingOperation: mqtt_request_response.StreamingOperationBase, publishEvent: mqtt_request_response.IncomingPublishEvent) => void,): NativeHandle; /** @internal */export function mqtt_streaming_operation_open(operation: NativeHandle) : void; /** @internal */export function mqtt_streaming_operation_close(operation: NativeHandle) : void; /* MQTT5 Client */ /** @internal */export function mqtt5_client_new(    client: Mqtt5Client,    config: Mqtt5ClientConfig,    on_stopped_event_handler: (client: Mqtt5Client) => void,    on_attempt_connect_handler: (client: Mqtt5Client) => void,    on_connection_success_handler: (client: Mqtt5Client, connack: mqtt5_packet.ConnackPacket, settings: NegotiatedSettings) => void,    on_connection_failure_handler: (client: Mqtt5Client, errorCode: number, connack?: mqtt5_packet.ConnackPacket) => void,    on_disconnection_handler: (client: Mqtt5Client, errorCode: number, disconnect?: mqtt5_packet.DisconnectPacket) => void,    on_message_received_handler: (client: Mqtt5Client, message: mqtt5_packet.PublishPacket, pubackControlId?: any) => void,    client_bootstrap?: NativeHandle,    socket_options?: NativeHandle,    tls_ctx?: NativeHandle,    proxy_options?: NativeHandle,): NativeHandle; /** @internal */export function mqtt5_client_start(client: NativeHandle) : void; /** @internal */export function mqtt5_client_stop(client: NativeHandle, disconnect_packet?: mqtt5_packet.DisconnectPacket) : void; /** @internal */export function mqtt5_client_subscribe(client: NativeHandle, subscribe_packet: mqtt5_packet.SubscribePacket, on_resolution: (client: Mqtt5Client, errorCode: number, suback?: mqtt5_packet.SubackPacket) => void) : void; /** @internal */export function mqtt5_client_unsubscribe(client: NativeHandle, unsubscribe_packet: mqtt5_packet.UnsubscribePacket, on_resolution: (client: Mqtt5Client, errorCode: number, unsuback?: mqtt5_packet.UnsubackPacket) => void) : void; /** @internal */export function mqtt5_client_publish(client: NativeHandle, publish_packet: mqtt5_packet.PublishPacket, on_resolution: (client: Mqtt5Client, errorCode: number, result: PublishCompletionResult) => void) : void; /** @internal */export function mqtt5_client_get_queue_statistics(client: NativeHandle) : ClientStatistics; /** @internal */export function mqtt5_client_invoke_publish_acknowledgement(client: NativeHandle, pubackControlId: NativeHandle) : void; /** @internal */export function mqtt5_client_close(client: NativeHandle) : void; /* MQTT Client *//** @internal */export function mqtt_client_new(client_bootstrap?: NativeHandle): NativeHandle; /* MQTT Client Connection #TODO: Wrap with ClassBinder *//** @internal */export type mqtt_on_connect = (error_code: number, return_code: number, session_present: boolean) => void; /** @internal */export function mqtt_client_connection_new(    client: NativeHandle,    on_interrupted?: (error_code: number) => void,    on_resumed?: (return_code: number, session_present: boolean) => void,    on_success?: (return_code: number, session_present: boolean) => void,    on_failure?: (error_code: number) => void,    tls_ctx?: NativeHandle,    will?: { topic: StringLike, payload: StringLike, qos: number, retain: boolean },    username?: StringLike,    password?: StringLike,    use_websocket?: boolean,    proxy_options?: NativeHandle,    websocket_handshake_transform?: (request: HttpRequest, done: (error_code?: number) => void) => void,    reconnect_min_sec?: number,    reconnect_max_sec?: number,): NativeHandle; /** @internal */export function mqtt_client_connection_connect(    connection: NativeHandle,    client_id: StringLike,    server_name: StringLike,    port: number,    socket_options?: NativeHandle,    keep_alive_time?: number,    ping_timeout?: number,    protocol_operation_timeout?: number,    clean_session?: boolean,    on_connect?: mqtt_on_connect,): void; /** @internal */export function mqtt_client_connection_reconnect(connection: NativeHandle, on_connect: mqtt_on_connect): void; /** @internal */export function mqtt_client_connection_publish(    connection: NativeHandle,    topic: StringLike,    payload: StringLike,    qos: number,    retain: boolean,    on_publish?: (packet_id: number, error_code: number) => void,): void; /** @internal */export function mqtt_client_connection_subscribe(    connection: NativeHandle,    topic: StringLike,    qos: number,    on_publish?: OnMessageCallback,    on_suback?: (packet_id: number, topic: string, qos: QoS, error_code: number) => void,): void; /** @internal */export function mqtt_client_connection_on_message(    connection: NativeHandle,    on_publish?: OnMessageCallback): void; /** @internal */export function mqtt_client_connection_on_closed(    connection: NativeHandle,    on_closed?: () => void): void; /** @internal */export function mqtt_client_connection_unsubscribe(    connection: NativeHandle,    topic: StringLike,    on_unsuback?: (packet_id: number, error_code: number) => void,): void; /** @internal */export function mqtt_client_connection_disconnect(connection: NativeHandle, on_disconnect?: () => void): void; /** @internal */export function mqtt_client_connection_close(connection: NativeHandle): void; /** @internal */export function mqtt_client_connection_get_queue_statistics(connection: NativeHandle) : ConnectionStatistics; /* HTTP *//* wraps aws_http_proxy_options #TODO: Wrap with ClassBinder *//** @internal */export function http_proxy_options_new(    host_name: StringLike,    port: number,    auth_method?: number,    username?: StringLike,    password?: StringLike,    tls_options?: NativeHandle,    connection_type? : number,): NativeHandle; /* wraps aws_http_connection #TODO: Wrap with ClassBinder *//** @internal */export function http_connection_new(    bootstrap: NativeHandle | undefined,    on_setup: (handle: any, error_code: number) => void,    on_shutdown: (handle: any, error_code: number) => void,    host_name: StringLike,    port: number,    socket_options?: NativeHandle,    tls_options?: NativeHandle,    proxy_options?: NativeHandle,): NativeHandle; /** @internal */export function http_connection_close(connection: NativeHandle): void; /* wraps aws_http_stream #TODO: Wrap with ClassBinder *//** @internal */export function http_stream_new(    stream: NativeHandle,    request: HttpRequest,    on_complete: (error_code: Number) => void,    on_response: (status_code: Number, headers: HttpHeader[]) => void,    on_body: (data: ArrayBuffer) => void,): NativeHandle; /** @internal */export function http_stream_activate(stream: NativeHandle): void; /** @internal */export function http_stream_close(stream: NativeHandle): void; /* wraps aws_http_connection_manager #TODO: Wrap with ClassBinder *//** @internal */export function http_connection_manager_new(    bootstrap: NativeHandle | undefined,    host: StringLike,    port: number,    max_connections: number,    window_size: number,    socket_options?: NativeHandle,    tls_options?: NativeHandle,    proxy_options?: NativeHandle,    on_shutdown?: () => void,): NativeHandle; /** @internal */export function http_connection_manager_close(manager: NativeHandle): void; /** @internal */export function http_connection_manager_acquire(    manager: NativeHandle,    on_acquired: (handle: any, error_code: number) => void,): void; /** @internal */export function http_connection_manager_release(manager: NativeHandle, connection: NativeHandle): void; /** * A collection of HTTP headers * * @module http * @category HTTP */export class HttpHeaders implements CommonHttpHeaders {    /** Construct from a collection of [name, value] pairs */    constructor(headers?: HttpHeader[]);     public readonly length: number;     /**     * Gets the first value for the given name, ignoring any additional values     * @param key - The header name to look for     * @return The first header value, or default if no values exist     */    public get(key: string): string;    /**     * Get the list of values for the given name     * @param key - The header name to look for     * @return List of values, or empty list if none exist     */    public get_values(key: string): string[];     /** @internal */    public get_index(index: number): HttpHeader;     /**     * Iterator. Allows for:     * let headers = new HttpHeaders();     * ...     * for (const header of headers) { }    */    public [Symbol.iterator](): Iterator<HttpHeader>;     /**     * Add a name/value pair     * @param key - The header name     * @param value - The header value    */    public add(key: string, value: string): void;     /**     * Set a name/value pair, replacing any existing values for the name     * @param key - The header name     * @param value - The header value    */    public set(key: string, value: string): void;     /**     * Removes all values for the given name     * @param key - The header to remove all values for     */    public remove(key: string): void;     /**     * Removes a specific name/value pair     * @param key - The header name to remove     * @param value - The header value to remove     */    public remove_value(key: string, value: string): void;     /** Clears the entire header set */    public clear(): void;     /** @internal */    public _flatten(): HttpHeader[];} /** * Definition for an outgoing HTTP request. * * The request may be transformed (ex: signing the request) before its data is eventually sent. * * @internal */export class HttpRequest {    constructor(method: string, path: string, headers?: HttpHeaders, body?: InputStream);     /** HTTP request method (verb). Default value is "GET". */    public method: string;    /** HTTP path-and-query value. Default value is "/". */    public path: string;    /** Optional headers. */    public readonly headers: HttpHeaders;    /** Optional body as a stream */    public body: InputStream;} export class AwsCredentialsProvider {    protected constructor();     static newDefault(bootstrap?: NativeHandle): AwsCredentialsProvider;    static newStatic(access_key: StringLike, secret_key: StringLike, session_token?: StringLike): AwsCredentialsProvider;    static newCognito(config: CognitoCredentialsProviderConfig, tlsContext : NativeHandle, bootstrap?: NativeHandle, httpProxyOptions?: NativeHandle): AwsCredentialsProvider;    static newX509(config: X509CredentialsConfig, tlsContext : NativeHandle, httpProxyOptions?: NativeHandle): AwsCredentialsProvider;} /** @internal */export function aws_sign_request(    request: HttpRequest,    config: AwsSigningConfig,    on_complete: (error_code: number) => void): void; /** @internal */export function aws_verify_sigv4a_signing(    request: HttpRequest,    config: AwsSigningConfig,    expected_canonical_request: StringLike,    signature: StringLike,    ecc_key_pub_x: StringLike,    ecc_key_pub_y: StringLike): boolean; /** @internal */export function event_stream_client_connection_new(    connection: eventstream.ClientConnection,    config: eventstream.ClientConnectionOptions,    on_disconnect_handler: (connection: eventstream.ClientConnection, errorCode: number) => void,    on_protocol_message_handler: (connection: eventstream.ClientConnection, message: eventstream.Message) => void,    socket_options?: NativeHandle,    tls_ctx?: NativeHandle,) : NativeHandle; /** @internal */export function event_stream_client_connection_close(connection: NativeHandle) : void; /** @internal */export function event_stream_client_connection_close_internal(connection: NativeHandle) : void; /** @internal */export function event_stream_client_connection_connect(    connection: NativeHandle,    completion_callback: (connection: eventstream.ClientConnection, errorCode: number) => void) : void; /** @internal */export function event_stream_client_connection_send_protocol_message(    connection: NativeHandle,    options: eventstream.ProtocolMessageOptions,    completion_callback: (errorCode: number) => void) : void; /** @internal */export function event_stream_client_stream_new(    stream: eventstream.ClientStream,    connection: NativeHandle,    on_stream_ended_handler: (stream: eventstream.ClientStream, errorCode: number) => void,    on_stream_message_handler: (stream: eventstream.ClientStream, message: eventstream.Message) => void,) : NativeHandle; /** @internal */export function event_stream_client_stream_close(stream: NativeHandle) : void; /** @internal */export function event_stream_client_stream_activate(    stream: NativeHandle,    options: eventstream.ActivateStreamOptions,    completion_callback: (stream: eventstream.ClientStream, errorCode: number) => void) : void; /** @internal */export function event_stream_client_stream_send_message(    stream: NativeHandle,    options: eventstream.StreamMessageOptions,    completion_callback: (errorCode: number) => void) : void; export const cRuntime: string;export const CRuntimeType: {    NON_LINUX: string,    MUSL: string,    GLIBC: string};