Skip to content

Easy Handle Reference

Qriist edited this page Sep 17, 2026 · 2 revisions

The Easy Handle is the primary interface for performing HTTP transfers in LibQurl. This reference lists the public Core methods that operate on an easy_handle, their primary function, and links to the official libcurl documentation for the underlying mechanism.

Official libcurl References

Lifecycle

Method Description libcurl Reference
EasyInit() Creates a new easy handle with sensible defaults. curl_easy_init
Cleanup(easy_handle?) Releases the handle and frees associated callbacks. curl_easy_cleanup
DupeInit(old_easy_handle?) Creates a logical clone of an existing handle's options. curl_easy_duphandle

Configuration

Method Description libcurl Reference
SetOpt(option, parameter, easy_handle?) Sets a single option on the handle. curl_easy_setopt
GetOpt(option, easy_handle?) Retrieves the current value of a set option. —
SetHeaders(headersObject, easy_handle?) Configures custom HTTP request headers. curl_slist_append
SetPost(sourceData, easy_handle?) Prepares the request body for POST/PUT transfers. curl_easy_setopt
SetUpload(sourceData, startByte?, numBytes?, easy_handle?) Prepares data for byte-range capable uploads. curl_easy_setopt
ClearPost(easy_handle?) Scrubs POST/UPLOAD state and resets the verb to GET. curl_easy_setopt

Transfer

Method Description libcurl Reference
Sync(easy_handle?) Performs a blocking transfer on the handle. curl_easy_perform
Pause(easy_handle?) Halts the active download or upload. curl_easy_pause
UnPause(easy_handle?) Resumes the halted transfer. curl_easy_pause
Upkeep(easy_handle?) Performs internal handle maintenance and state checks. curl_easy_upkeep

Retrieval

Method Description libcurl Reference
GetLastBody(returnAsEncoding := "UTF-8", easy_handle?) Retrieves the response body from the last transfer. —
GetLastHeaders(returnAsEncoding := "UTF-8", easy_handle?) Retrieves the response headers from the last transfer. —
GetLastStatus(easy_handle?) Retrieves the HTTP status code from the last transfer. —
GetInfo(infoOption, easy_handle?) Retrieves specific transfer metrics or data. curl_easy_getinfo
GetAllHeaders(easy_handle?) Enumerates all headers received across redirect hops. curl_easy_nextheader
InspectHeader(name, index := 0, origin?, request := -1, easy_handle?) Inspects a specific header by name and position. curl_easy_header

Raw & WebSocket

Method Description libcurl Reference
RawSend(outgoing, easy_handle?) Transmits raw protocol-level data. curl_easy_send
RawReceive(easy_handle?) Receives raw protocol-level data. curl_easy_recv
WebSocketSend(content, flagArr := ["TEXT"], easy_handle?) Sends a framed WebSocket message. curl_ws_send
WebSocketReceive(easy_handle?) Receives a framed WebSocket message. curl_ws_recv

Utility & Diagnostics

Method Description libcurl Reference
GetVersionInfo() Returns the active libcurl version and features. curl_version_info
GetErrorString(errornum) Resolves a numeric error code to its string description. curl_easy_strerror
ListHandles() Returns a plaintext listing of all open easy handles. —
GetProgress(easy_handle?) Returns the current progress callback data. —
DownloadPercent(easy_handle?) Calculates the download completion percentage. —
UploadPercent(easy_handle?) Calculates the upload completion percentage. —
EnableDebug(easy_handle?) Enables debug logging for the handle. curl_global_trace
PollDebug(easy_handle?) Formats and returns the captured debug log entries. —
ExportSSLs(easy_handle?, share_handle?) Exports serialized SSL session data for resumption. curl_easy_ssls_export
ImportSSLs(importArr, easy_handle?) Applies previously saved SSL session data. curl_easy_ssls_import

Where to Go Next

Clone this wiki locally