circu.js
    Preparing search index...

    CURL class - Represents a single HTTP request

    const { ConnPool, CURL } = import.meta.use('curl');

    const pool = new ConnPool();
    const curl = new CURL(pool);

    // GET request
    const res = await curl.setUrl('https://api.example.com/data')
    .setHeaders({ 'Authorization': 'Bearer token' })
    .perform();

    // POST request
    const postRes = await curl.setUrl('https://api.example.com/submit')
    .setMethod('POST')
    .setHeaders({ 'Content-Type': 'application/json' })
    .setBody(JSON.stringify({ key: 'value' }))
    .perform();
    Index

    Constructors

    Methods

    • Abort an in-flight asynchronous request.

      Returns void

    • Get the current request headers as an array of "Name: Value" strings.

      Returns string[]

    • Get request statistics

      Returns RequestInfo

      RequestInfo Request statistics

    • Get request statistics

      Parameters

      • info: number

      Returns string | number | string[] | null

      RequestInfo Request statistics

    • Stream callback. Return true to abort reading.

      Parameters

      • cb: (buf: ArrayBuffer) => boolean

      Returns void

    • Observe libcurl debug events. Passing a function enables CURLOPT_VERBOSE internally but does not write verbose output to stderr. The data argument is raw bytes; HEADER_* events can be decoded as UTF-8, DATA_* and SSL_DATA_* may be binary.

      Parameters

      • callback: ((type: number, data: ArrayBuffer) => void) | null | undefined

      Returns this

    • Set header callback function

      Parameters

      Returns this

      Current CURL instance (supports chaining)

    • Set callback fired once when response headers are complete. Receives (status: number, headersRaw: string). Enables streaming: set this + onData to get body chunks before perform() resolves.

      Parameters

      • callback: (status: number, headers: string) => void

      Returns this

    • Set progress callback function

      Parameters

      Returns this

      Current CURL instance (supports chaining)

    • Pause receive stream

      Returns void

    • Execute HTTP request asynchronously

      Returns Promise<Response>

      Promise HTTP response

      CURLException Throws on request failure

    • Execute HTTP request synchronously

      Returns Response

      Response HTTP response

      CURLException Throws on request failure

    • Reset CURL instance to initial state

      Returns void

    • Resume receive stream

      Returns void

    • Enable or set accepted compressed response encodings.

      Parameters

      • Optionalencoding: string

      Returns this

    • Set HTTP Basic authentication credentials.

      Parameters

      • username: string
      • Optionalpassword: string

      Returns this

    • Set bearer token authentication.

      Parameters

      • token: string

      Returns this

    • Set request body (for POST/PUT, etc.)

      Parameters

      • body: string | ArrayBuffer | ArrayBufferView<ArrayBufferLike>

        Request body string

      Returns this

      Current CURL instance (supports chaining)

    • Set CA certificate bundle path

      Parameters

      • path: string

        CA certificate file path

      Returns this

      Current CURL instance (supports chaining)

    • Set connection timeout (milliseconds)

      Parameters

      • timeout: number

        Connection timeout in milliseconds

      Returns this

      Current CURL instance (supports chaining)

    • Set cookie string

      Parameters

      • cookie: string

        Cookie string

      Returns this

      Current CURL instance (supports chaining)

    • Set cookie file path

      Parameters

      • path: string

        Cookie file path

      Returns this

      Current CURL instance (supports chaining)

    • Set cookie jar output path.

      Parameters

      • path: string

      Returns this

    • Set DNS server list (comma-separated)

      Parameters

      • servers: string

        DNS server list (e.g., "8.8.8.8,1.1.1.1")

      Returns this

      Current CURL instance (supports chaining)

    • Set whether to follow redirects

      Parameters

      • follow: boolean

        Whether to follow redirects

      Returns this

      Current CURL instance (supports chaining)

    • Set HTTP request headers

      Parameters

      • headers: Record<string, string>

        Headers object

      Returns this

      Current CURL instance (supports chaining)

    • Set HTTP protocol version

      Parameters

      • version: "2" | "3" | "1.0" | "1.1" | "2.0" | "2TLS"

        HTTP version (1.0, 1.1, 2, 2TLS, 3)

      Returns this

      Current CURL instance (supports chaining)

    • Set network interface

      Parameters

      • interfaceName: string

        Network interface name or IP address

      Returns this

      Current CURL instance (supports chaining)

    • Enable TCP keepalive, optionally setting idle and interval seconds.

      Parameters

      • enabled: boolean
      • Optionalidle: number
      • Optionalinterval: number

      Returns this

    • Abort transfers slower than limit bytes/sec for time seconds.

      Parameters

      • limit: number
      • Optionaltime: number

      Returns this

    • Set maximum redirect count

      Parameters

      • max: number

        Maximum redirects

      Returns this

      Current CURL instance (supports chaining)

    • Set HTTP method

      Parameters

      • method: string

        HTTP method (GET, POST, PUT, HEAD, DELETE, etc.)

      Returns this

      Current CURL instance (supports chaining)

    • Configure multipart/form-data POST parts.

      Parameters

      Returns this

    • Set a libcurl easy option by numeric id. Unsafe pointer options are rejected.

      Parameters

      Returns this

    • Set proxy server

      Parameters

      • proxy: string

        Proxy server address (e.g., http://proxy.example.com:8080)

      • Optionaltype: "http" | "https" | "socks4" | "socks4a" | "socks5" | "socks5h"

        Proxy type (http, https, socks4, socks5)

      Returns this

      Current CURL instance (supports chaining)

    • Set request range (for resumable downloads)

      Parameters

      • start: number

        Start byte position

      • Optionalend: number

        End byte position (optional, defaults to end of file)

      Returns this

      Current CURL instance (supports chaining)

    • Set referer header

      Parameters

      • referer: string

        Referer value

      Returns this

      Current CURL instance (supports chaining)

    • Attach a libcurl share handle for cookies, DNS, SSL sessions, and connections.

      Parameters

      Returns this

    • Set SSL/TLS verification

      Parameters

      • verifyPeer: boolean

        Whether to verify peer certificate

      • OptionalverifyHost: boolean

        Whether to verify hostname (defaults to verifyPeer)

      Returns this

      Current CURL instance (supports chaining)

    • Set streaming mode. Don't save body, trigger ondata instead

      Parameters

      • mode: boolean

        Streaming mode

      Returns void

    • Set timeout (milliseconds)

      Parameters

      • timeout: number

        Timeout in milliseconds

      Returns this

      Current CURL instance (supports chaining)

    • Upload raw data using libcurl's read callback.

      Parameters

      • data: string | ArrayBuffer | ArrayBufferView<ArrayBufferLike>

      Returns this

    • Upload a file path using libcurl's file reader.

      Parameters

      • path: string

      Returns this

    • Set request URL

      Parameters

      • url: string

        Request URL

      Returns this

      Current CURL instance (supports chaining)

    • Set user agent string

      Parameters

      • userAgent: string

        User agent string

      Returns this

      Current CURL instance (supports chaining)

    • Set whether to enable verbose output

      Parameters

      • verbose: boolean

        Whether to enable verbose output

      Returns this

      Current CURL instance (supports chaining)