commit
d3976988c4
7 changed files with 378 additions and 0 deletions
@ -0,0 +1,5 @@ |
||||
.idea |
||||
.vscode |
||||
.DS_Store |
||||
|
||||
vendor |
@ -0,0 +1,18 @@ |
||||
{ |
||||
"name": "massivedynamic/curl", |
||||
"description": "a OOP wrapper for PHP cURL", |
||||
"type": "library", |
||||
"license": "MIT", |
||||
"autoload": { |
||||
"psr-4": { |
||||
"massivedynamic\\curl\\": "src/" |
||||
} |
||||
}, |
||||
"authors": [ |
||||
{ |
||||
"name": "MikO", |
||||
"email": "miko@massivednyamic.eu" |
||||
} |
||||
], |
||||
"require": {} |
||||
} |
@ -0,0 +1,89 @@ |
||||
<?php declare(strict_types=1); |
||||
|
||||
namespace massivedynamic\curl; |
||||
|
||||
use CurlHandle; |
||||
|
||||
class Curl { |
||||
private CurlHandle $handle; |
||||
private string $lastReturn; |
||||
|
||||
public function __construct(?string $url = null) { |
||||
$this->lastReturn = ""; |
||||
$this->handle = curl_init($url); |
||||
} |
||||
|
||||
public function errno() : int { |
||||
return curl_errno($this->handle); |
||||
} |
||||
|
||||
public function error() : Error { |
||||
$errno = $this->errno(); |
||||
return new Error(curl_strerror($errno), $errno); |
||||
} |
||||
|
||||
public function escape(string $string) : ?string { |
||||
$out = curl_escape($this->handle, $string); |
||||
|
||||
return $out === false ? null : $out; |
||||
} |
||||
|
||||
public function exec() : bool { |
||||
$result = curl_exec($this->handle); |
||||
|
||||
if (is_string($result)) { |
||||
$this->lastReturn = $result; |
||||
return true; |
||||
} |
||||
|
||||
return $result; |
||||
} |
||||
|
||||
public function getInfo(Info $option) : mixed { |
||||
return curl_getinfo($this->handle, $option->value); |
||||
} |
||||
|
||||
public function pause(Pause $flag) : int { |
||||
return curl_pause($this->handle, $flag->value); |
||||
} |
||||
|
||||
public function reset() : void { |
||||
$this->lastReturn = ""; |
||||
curl_reset($this->handle); |
||||
} |
||||
|
||||
public function setOpt(Option $option, mixed $value = null) : bool { |
||||
if (is_array($option)) { |
||||
$options = []; |
||||
array_walk($option, fn($key, $value) => $key instanceof \BackedEnum ? $options[$key->value] = $key : $options[$key] = $value); |
||||
assert($value === null, "Value hast to be null on `setOpt` with an array"); |
||||
return curl_setopt_array($this->handle, $options); |
||||
} |
||||
|
||||
return curl_setopt($this->handle, $option->value, $value === null ? "" : $value); |
||||
} |
||||
|
||||
public function result() : string { |
||||
return $this->lastReturn; |
||||
} |
||||
|
||||
public function close() : void { |
||||
curl_close($this->handle); |
||||
} |
||||
|
||||
public function unescape(string $string) : ?string { |
||||
$out = curl_unescape($this->handle, $string); |
||||
|
||||
return $out === false ? null : $out; |
||||
} |
||||
|
||||
public function upkeep() : bool { |
||||
return curl_upkeep($this->handle); |
||||
} |
||||
|
||||
public function version() : ?array { |
||||
$info = curl_version($this->handle); |
||||
|
||||
return $info === false ? null : $info; |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
<?php declare(strict_types=1); |
||||
|
||||
namespace massivedynamic\curl; |
||||
|
||||
//@struct |
||||
class Error { |
||||
public function __construct( |
||||
public string $message, |
||||
public int $code |
||||
){} |
||||
} |
@ -0,0 +1,67 @@ |
||||
<?php declare(strict_types=1); |
||||
|
||||
namespace massivedynamic\curl; |
||||
|
||||
enum Info : int { |
||||
case EFFECTIVE_URL = CURLINFO_EFFECTIVE_URL; |
||||
case HTTP_CODE = CURLINFO_HTTP_CODE; |
||||
case FILETIME = CURLINFO_FILETIME; |
||||
case TOTAL_TIME = CURLINFO_TOTAL_TIME; |
||||
case NAMELOOKUP_TIME = CURLINFO_NAMELOOKUP_TIME; |
||||
case CONNECT_TIME = CURLINFO_CONNECT_TIME; |
||||
case PRETRANSFER_TIME = CURLINFO_PRETRANSFER_TIME; |
||||
case STARTTRANSFER_TIME = CURLINFO_STARTTRANSFER_TIME; |
||||
case REDIRECT_COUNT = CURLINFO_REDIRECT_COUNT; |
||||
case REDIRECT_TIME = CURLINFO_REDIRECT_TIME; |
||||
case REDIRECT_URL = CURLINFO_REDIRECT_URL; |
||||
case PRIMARY_IP = CURLINFO_PRIMARY_IP; |
||||
case PRIMARY_PORT = CURLINFO_PRIMARY_PORT; |
||||
case LOCAL_IP = CURLINFO_LOCAL_IP; |
||||
case LOCAL_PORT = CURLINFO_LOCAL_PORT; |
||||
case SIZE_UPLOAD = CURLINFO_SIZE_UPLOAD; |
||||
case SIZE_DOWNLOAD = CURLINFO_SIZE_DOWNLOAD; |
||||
case SPEED_DOWNLOAD = CURLINFO_SPEED_DOWNLOAD; |
||||
case SPEED_UPLOAD = CURLINFO_SPEED_UPLOAD; |
||||
case HEADER_SIZE = CURLINFO_HEADER_SIZE; |
||||
case HEADER_OUT = CURLINFO_HEADER_OUT; |
||||
case REQUEST_SIZE = CURLINFO_REQUEST_SIZE; |
||||
case SSL_VERIFYRESULT = CURLINFO_SSL_VERIFYRESULT; |
||||
case CONTENT_LENGTH_DOWNLOAD = CURLINFO_CONTENT_LENGTH_DOWNLOAD; |
||||
case CONTENT_LENGTH_UPLOAD = CURLINFO_CONTENT_LENGTH_UPLOAD; |
||||
case CONTENT_TYPE = CURLINFO_CONTENT_TYPE; |
||||
case PRIVATE = CURLINFO_PRIVATE; |
||||
case RESPONSE_CODE = CURLINFO_RESPONSE_CODE; |
||||
case HTTP_CONNECTCODE = CURLINFO_HTTP_CONNECTCODE; |
||||
case HTTPAUTH_AVAIL = CURLINFO_HTTPAUTH_AVAIL; |
||||
case PROXYAUTH_AVAIL = CURLINFO_PROXYAUTH_AVAIL; |
||||
case OS_ERRNO = CURLINFO_OS_ERRNO; |
||||
case NUM_CONNECTS = CURLINFO_NUM_CONNECTS; |
||||
case SSL_ENGINES = CURLINFO_SSL_ENGINES; |
||||
case COOKIELIST = CURLINFO_COOKIELIST; |
||||
case FTP_ENTRY_PATH = CURLINFO_FTP_ENTRY_PATH; |
||||
case APPCONNECT_TIME = CURLINFO_APPCONNECT_TIME; |
||||
case CERTINFO = CURLINFO_CERTINFO; |
||||
case CONDITION_UNMET = CURLINFO_CONDITION_UNMET; |
||||
case RTSP_CLIENT_CSEQ = CURLINFO_RTSP_CLIENT_CSEQ; |
||||
case RTSP_CSEQ_RECV = CURLINFO_RTSP_CSEQ_RECV; |
||||
case RTSP_SERVER_CSEQ = CURLINFO_RTSP_SERVER_CSEQ; |
||||
case RTSP_SESSION_ID = CURLINFO_RTSP_SESSION_ID; |
||||
case CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_CONTENT_LENGTH_DOWNLOAD_T; |
||||
case CONTENT_LENGTH_UPLOAD_T = CURLINFO_CONTENT_LENGTH_UPLOAD_T; |
||||
case HTTP_VERSION = CURLINFO_HTTP_VERSION; |
||||
case PROTOCOL = CURLINFO_PROTOCOL; |
||||
case PROXY_SSL_VERIFYRESULT = CURLINFO_PROXY_SSL_VERIFYRESULT; |
||||
case SCHEME = CURLINFO_SCHEME; |
||||
case SIZE_DOWNLOAD_T = CURLINFO_SIZE_DOWNLOAD_T; |
||||
case SIZE_UPLOAD_T = CURLINFO_SIZE_UPLOAD_T; |
||||
case SPEED_DOWNLOAD_T = CURLINFO_SPEED_DOWNLOAD_T; |
||||
case SPEED_UPLOAD_T = CURLINFO_SPEED_UPLOAD_T; |
||||
case APPCONNECT_TIME_T = CURLINFO_APPCONNECT_TIME_T; |
||||
case CONNECT_TIME_T = CURLINFO_CONNECT_TIME_T; |
||||
case FILETIME_T = CURLINFO_FILETIME_T; |
||||
case NAMELOOKUP_TIME_T = CURLINFO_NAMELOOKUP_TIME_T; |
||||
case PRETRANSFER_TIME_T = CURLINFO_PRETRANSFER_TIME_T; |
||||
case REDIRECT_TIME_T = CURLINFO_REDIRECT_TIME_T; |
||||
case STARTTRANSFER_TIME_T = CURLINFO_STARTTRANSFER_TIME_T; |
||||
case TOTAL_TIME_T = CURLINFO_TOTAL_TIME_T; |
||||
} |
@ -0,0 +1,176 @@ |
||||
<?php declare(strict_types=1); |
||||
|
||||
namespace massivedynamic\curl; |
||||
|
||||
enum Option : int { |
||||
case AUTOREFERER = CURLOPT_AUTOREFERER; |
||||
case COOKIESESSION = CURLOPT_COOKIESESSION; |
||||
case DOH_URL = CURLOPT_DOH_URL; |
||||
case DNS_USE_GLOBAL_CACHE = CURLOPT_DNS_USE_GLOBAL_CACHE; |
||||
case DNS_CACHE_TIMEOUT = CURLOPT_DNS_CACHE_TIMEOUT; |
||||
case PRIVATE = CURLOPT_PRIVATE; |
||||
case FTPSSLAUTH = CURLOPT_FTPSSLAUTH; |
||||
case PORT = CURLOPT_PORT; |
||||
case FILE = CURLOPT_FILE; |
||||
case INFILE = CURLOPT_INFILE; |
||||
case INFILESIZE = CURLOPT_INFILESIZE; |
||||
case ISSUERCERT_BLOB = CURLOPT_ISSUERCERT_BLOB; |
||||
case URL = CURLOPT_URL; |
||||
case PROXY = CURLOPT_PROXY; |
||||
case PROXY_ISSUERCERT = CURLOPT_PROXY_ISSUERCERT; |
||||
case PROXY_ISSUERCERT_BLOB = CURLOPT_PROXY_ISSUERCERT_BLOB; |
||||
case PROXY_SSLCERT_BLOB = CURLOPT_PROXY_SSLCERT_BLOB; |
||||
case PROXY_SSLKEY_BLOB = CURLOPT_PROXY_SSLKEY_BLOB; |
||||
case VERBOSE = CURLOPT_VERBOSE; |
||||
case HEADER = CURLOPT_HEADER; |
||||
case HTTPHEADER = CURLOPT_HTTPHEADER; |
||||
case NOPROGRESS = CURLOPT_NOPROGRESS; |
||||
case NOBODY = CURLOPT_NOBODY; |
||||
case FAILONERROR = CURLOPT_FAILONERROR; |
||||
case UPLOAD = CURLOPT_UPLOAD; |
||||
case POST = CURLOPT_POST; |
||||
case FTPLISTONLY = CURLOPT_FTPLISTONLY; |
||||
case FTPAPPEND = CURLOPT_FTPAPPEND; |
||||
case FTP_CREATE_MISSING_DIRS = CURLOPT_FTP_CREATE_MISSING_DIRS; |
||||
case NETRC = CURLOPT_NETRC; |
||||
case FOLLOWLOCATION = CURLOPT_FOLLOWLOCATION; |
||||
case PUT = CURLOPT_PUT; |
||||
case USERPWD = CURLOPT_USERPWD; |
||||
case PROXYUSERPWD = CURLOPT_PROXYUSERPWD; |
||||
case RANGE = CURLOPT_RANGE; |
||||
case TIMEOUT = CURLOPT_TIMEOUT; |
||||
case TIMEOUT_MS = CURLOPT_TIMEOUT_MS; |
||||
case TCP_NODELAY = CURLOPT_TCP_NODELAY; |
||||
case POSTFIELDS = CURLOPT_POSTFIELDS; |
||||
case PROGRESSFUNCTION = CURLOPT_PROGRESSFUNCTION; |
||||
case REFERER = CURLOPT_REFERER; |
||||
case USERAGENT = CURLOPT_USERAGENT; |
||||
case FTPPORT = CURLOPT_FTPPORT; |
||||
case FTP_USE_EPSV = CURLOPT_FTP_USE_EPSV; |
||||
case LOW_SPEED_LIMIT = CURLOPT_LOW_SPEED_LIMIT; |
||||
case LOW_SPEED_TIME = CURLOPT_LOW_SPEED_TIME; |
||||
case RESUME_FROM = CURLOPT_RESUME_FROM; |
||||
case COOKIE = CURLOPT_COOKIE; |
||||
case COOKIELIST = CURLOPT_COOKIELIST; |
||||
case SSLCERT = CURLOPT_SSLCERT; |
||||
case SSLCERT_BLOB = CURLOPT_SSLCERT_BLOB; |
||||
case SSLCERTPASSWD = CURLOPT_SSLCERTPASSWD; |
||||
case SSLKEY_BLOB = CURLOPT_SSLKEY_BLOB; |
||||
case WRITEHEADER = CURLOPT_WRITEHEADER; |
||||
case SSL_VERIFYHOST = CURLOPT_SSL_VERIFYHOST; |
||||
case COOKIEFILE = CURLOPT_COOKIEFILE; |
||||
case SSLVERSION = CURLOPT_SSLVERSION; |
||||
case TIMECONDITION = CURLOPT_TIMECONDITION; |
||||
case TIMEVALUE = CURLOPT_TIMEVALUE; |
||||
case CUSTOMREQUEST = CURLOPT_CUSTOMREQUEST; |
||||
case STDERR = CURLOPT_STDERR; |
||||
case TRANSFERTEXT = CURLOPT_TRANSFERTEXT; |
||||
case RETURNTRANSFER = CURLOPT_RETURNTRANSFER; |
||||
case QUOTE = CURLOPT_QUOTE; |
||||
case POSTQUOTE = CURLOPT_POSTQUOTE; |
||||
case INTERFACE = CURLOPT_INTERFACE; |
||||
case KRB4LEVEL = CURLOPT_KRB4LEVEL; |
||||
case HTTPPROXYTUNNEL = CURLOPT_HTTPPROXYTUNNEL; |
||||
case FILETIME = CURLOPT_FILETIME; |
||||
case WRITEFUNCTION = CURLOPT_WRITEFUNCTION; |
||||
case READFUNCTION = CURLOPT_READFUNCTION; |
||||
case HEADERFUNCTION = CURLOPT_HEADERFUNCTION; |
||||
case MAXREDIRS = CURLOPT_MAXREDIRS; |
||||
case MAXCONNECTS = CURLOPT_MAXCONNECTS; |
||||
case FRESH_CONNECT = CURLOPT_FRESH_CONNECT; |
||||
case FORBID_REUSE = CURLOPT_FORBID_REUSE; |
||||
case RANDOM_FILE = CURLOPT_RANDOM_FILE; |
||||
case EGDSOCKET = CURLOPT_EGDSOCKET; |
||||
case CONNECTTIMEOUT = CURLOPT_CONNECTTIMEOUT; |
||||
case CONNECTTIMEOUT_MS = CURLOPT_CONNECTTIMEOUT_MS; |
||||
case SSL_VERIFYPEER = CURLOPT_SSL_VERIFYPEER; |
||||
case CAINFO = CURLOPT_CAINFO; |
||||
case CAPATH = CURLOPT_CAPATH; |
||||
case COOKIEJAR = CURLOPT_COOKIEJAR; |
||||
case SSL_CIPHER_LIST = CURLOPT_SSL_CIPHER_LIST; |
||||
case NOSIGNAL = CURLOPT_NOSIGNAL; |
||||
case PROXYTYPE = CURLOPT_PROXYTYPE; |
||||
case BUFFERSIZE = CURLOPT_BUFFERSIZE; |
||||
case HTTPGET = CURLOPT_HTTPGET; |
||||
case HTTP_VERSION = CURLOPT_HTTP_VERSION; |
||||
case SSLKEY = CURLOPT_SSLKEY; |
||||
case SSLKEYTYPE = CURLOPT_SSLKEYTYPE; |
||||
case SSLENGINE = CURLOPT_SSLENGINE; |
||||
case SSLENGINE_DEFAULT = CURLOPT_SSLENGINE_DEFAULT; |
||||
case SSLCERTTYPE = CURLOPT_SSLCERTTYPE; |
||||
case CRLF = CURLOPT_CRLF; |
||||
case ENCODING = CURLOPT_ENCODING; |
||||
case PROXYPORT = CURLOPT_PROXYPORT; |
||||
case UNRESTRICTED_AUTH = CURLOPT_UNRESTRICTED_AUTH; |
||||
case FTP_USE_EPRT = CURLOPT_FTP_USE_EPRT; |
||||
case HTTP200ALIASES = CURLOPT_HTTP200ALIASES; |
||||
case HTTPAUTH = CURLOPT_HTTPAUTH; |
||||
case PROXYAUTH = CURLOPT_PROXYAUTH; |
||||
case MAX_RECV_SPEED_LARGE = CURLOPT_MAX_RECV_SPEED_LARGE; |
||||
case MAX_SEND_SPEED_LARGE = CURLOPT_MAX_SEND_SPEED_LARGE; |
||||
case HEADEROPT = CURLOPT_HEADEROPT; |
||||
case PROXYHEADER = CURLOPT_PROXYHEADER; |
||||
case SSH_AUTH_TYPES = CURLOPT_SSH_AUTH_TYPES; |
||||
case SSH_HOST_PUBLIC_KEY_MD5 = CURLOPT_SSH_HOST_PUBLIC_KEY_MD5; |
||||
case SSH_PRIVATE_KEYFILE = CURLOPT_SSH_PRIVATE_KEYFILE; |
||||
case SSH_PUBLIC_KEYFILE = CURLOPT_SSH_PUBLIC_KEYFILE; |
||||
case SSL_OPTIONS = CURLOPT_SSL_OPTIONS; |
||||
case USERNAME = CURLOPT_USERNAME; |
||||
case SASL_IR = CURLOPT_SASL_IR; |
||||
case DNS_INTERFACE = CURLOPT_DNS_INTERFACE; |
||||
case DNS_LOCAL_IP4 = CURLOPT_DNS_LOCAL_IP4; |
||||
case DNS_LOCAL_IP6 = CURLOPT_DNS_LOCAL_IP6; |
||||
case XOAUTH2_BEARER = CURLOPT_XOAUTH2_BEARER; |
||||
case LOGIN_OPTIONS = CURLOPT_LOGIN_OPTIONS; |
||||
case EXPECT_100_TIMEOUT_MS = CURLOPT_EXPECT_100_TIMEOUT_MS; |
||||
case SSL_ENABLE_ALPN = CURLOPT_SSL_ENABLE_ALPN; |
||||
case SSL_ENABLE_NPN = CURLOPT_SSL_ENABLE_NPN; |
||||
case PINNEDPUBLICKEY = CURLOPT_PINNEDPUBLICKEY; |
||||
case UNIX_SOCKET_PATH = CURLOPT_UNIX_SOCKET_PATH; |
||||
case SSL_VERIFYSTATUS = CURLOPT_SSL_VERIFYSTATUS; |
||||
case PATH_AS_IS = CURLOPT_PATH_AS_IS; |
||||
case SSL_FALSESTART = CURLOPT_SSL_FALSESTART; |
||||
case PIPEWAIT = CURLOPT_PIPEWAIT; |
||||
case PROXY_SERVICE_NAME = CURLOPT_PROXY_SERVICE_NAME; |
||||
case SERVICE_NAME = CURLOPT_SERVICE_NAME; |
||||
case DEFAULT_PROTOCOL = CURLOPT_DEFAULT_PROTOCOL; |
||||
case STREAM_WEIGHT = CURLOPT_STREAM_WEIGHT; |
||||
case TFTP_NO_OPTIONS = CURLOPT_TFTP_NO_OPTIONS; |
||||
case CONNECT_TO = CURLOPT_CONNECT_TO; |
||||
case TCP_FASTOPEN = CURLOPT_TCP_FASTOPEN; |
||||
case TCP_KEEPALIVE = CURLOPT_TCP_KEEPALIVE; |
||||
case TCP_KEEPIDLE = CURLOPT_TCP_KEEPIDLE; |
||||
case TCP_KEEPINTVL = CURLOPT_TCP_KEEPINTVL; |
||||
case REQUEST_TARGET = CURLOPT_REQUEST_TARGET; |
||||
case ABSTRACT_UNIX_SOCKET = CURLOPT_ABSTRACT_UNIX_SOCKET; |
||||
case KEEP_SENDING_ON_ERROR = CURLOPT_KEEP_SENDING_ON_ERROR; |
||||
case PRE_PROXY = CURLOPT_PRE_PROXY; |
||||
case PROXY_CAINFO = CURLOPT_PROXY_CAINFO; |
||||
case PROXY_CAPATH = CURLOPT_PROXY_CAPATH; |
||||
case PROXY_CRLFILE = CURLOPT_PROXY_CRLFILE; |
||||
case PROXY_KEYPASSWD = CURLOPT_PROXY_KEYPASSWD; |
||||
case PROXY_PINNEDPUBLICKEY = CURLOPT_PROXY_PINNEDPUBLICKEY; |
||||
case PROXY_SSLCERT = CURLOPT_PROXY_SSLCERT; |
||||
case PROXY_SSLCERTTYPE = CURLOPT_PROXY_SSLCERTTYPE; |
||||
case PROXY_SSL_CIPHER_LIST = CURLOPT_PROXY_SSL_CIPHER_LIST; |
||||
case PROXY_SSLKEY = CURLOPT_PROXY_SSLKEY; |
||||
case PROXY_SSLKEYTYPE = CURLOPT_PROXY_SSLKEYTYPE; |
||||
case PROXY_SSL_OPTIONS = CURLOPT_PROXY_SSL_OPTIONS; |
||||
case PROXY_SSL_VERIFYHOST = CURLOPT_PROXY_SSL_VERIFYHOST; |
||||
case PROXY_SSL_VERIFYPEER = CURLOPT_PROXY_SSL_VERIFYPEER; |
||||
case PROXY_SSLVERSION = CURLOPT_PROXY_SSLVERSION; |
||||
case PROXY_TLSAUTH_PASSWORD = CURLOPT_PROXY_TLSAUTH_PASSWORD; |
||||
case PROXY_TLSAUTH_TYPE = CURLOPT_PROXY_TLSAUTH_TYPE; |
||||
case PROXY_TLSAUTH_USERNAME = CURLOPT_PROXY_TLSAUTH_USERNAME; |
||||
case SOCKS5_AUTH = CURLOPT_SOCKS5_AUTH; |
||||
case SUPPRESS_CONNECT_HEADERS = CURLOPT_SUPPRESS_CONNECT_HEADERS; |
||||
case DISALLOW_USERNAME_IN_URL = CURLOPT_DISALLOW_USERNAME_IN_URL; |
||||
case DNS_SHUFFLE_ADDRESSES = CURLOPT_DNS_SHUFFLE_ADDRESSES; |
||||
case HAPPY_EYEBALLS_TIMEOUT_MS = CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS; |
||||
case HAPROXYPROTOCOL = CURLOPT_HAPROXYPROTOCOL; |
||||
case PROXY_TLS13_CIPHERS = CURLOPT_PROXY_TLS13_CIPHERS; |
||||
case SSH_COMPRESSION = CURLOPT_SSH_COMPRESSION; |
||||
case TIMEVALUE_LARGE = CURLOPT_TIMEVALUE_LARGE; |
||||
case TLS13_CIPHERS = CURLOPT_TLS13_CIPHERS; |
||||
case HTTP09_ALLOWED = CURLOPT_HTTP09_ALLOWED; |
||||
} |
@ -0,0 +1,12 @@ |
||||
<?php declare(strict_types=1); |
||||
|
||||
namespace massivedynamic\curl; |
||||
|
||||
enum Pause : int { |
||||
case ALL = CURLPAUSE_ALL; |
||||
case CONT = CURLPAUSE_CONT; |
||||
case RECV = CURLPAUSE_RECV; |
||||
case RECV_CONT = CURLPAUSE_RECV_CONT; |
||||
case SEND = CURLPAUSE_SEND; |
||||
case SEND_CONT = CURLPAUSE_SEND_CONT; |
||||
} |
Loading…
Reference in new issue