wp/wp-includes/Requests/src/Exception/Transport/Curl.php
changeset 21 48c4eec2b7e6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wp/wp-includes/Requests/src/Exception/Transport/Curl.php	Fri Sep 05 18:40:08 2025 +0200
@@ -0,0 +1,80 @@
+<?php
+/**
+ * CURL Transport Exception.
+ *
+ * @package Requests\Exceptions
+ */
+
+namespace WpOrg\Requests\Exception\Transport;
+
+use WpOrg\Requests\Exception\Transport;
+
+/**
+ * CURL Transport Exception.
+ *
+ * @package Requests\Exceptions
+ */
+final class Curl extends Transport {
+
+	const EASY  = 'cURLEasy';
+	const MULTI = 'cURLMulti';
+	const SHARE = 'cURLShare';
+
+	/**
+	 * cURL error code
+	 *
+	 * @var integer
+	 */
+	protected $code = -1;
+
+	/**
+	 * Which type of cURL error
+	 *
+	 * EASY|MULTI|SHARE
+	 *
+	 * @var string
+	 */
+	protected $type = 'Unknown';
+
+	/**
+	 * Clear text error message
+	 *
+	 * @var string
+	 */
+	protected $reason = 'Unknown';
+
+	/**
+	 * Create a new exception.
+	 *
+	 * @param string $message Exception message.
+	 * @param string $type    Exception type.
+	 * @param mixed  $data    Associated data, if applicable.
+	 * @param int    $code    Exception numerical code, if applicable.
+	 */
+	public function __construct($message, $type, $data = null, $code = 0) {
+		if ($type !== null) {
+			$this->type = $type;
+		}
+
+		if ($code !== null) {
+			$this->code = (int) $code;
+		}
+
+		if ($message !== null) {
+			$this->reason = $message;
+		}
+
+		$message = sprintf('%d %s', $this->code, $this->reason);
+		parent::__construct($message, $this->type, $data, $this->code);
+	}
+
+	/**
+	 * Get the error message.
+	 *
+	 * @return string
+	 */
+	public function getReason() {
+		return $this->reason;
+	}
+
+}