| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 | 
							- <?php
 
- /**
 
-  * HTTP API: WP_HTTP_Response class
 
-  *
 
-  * @package WordPress
 
-  * @subpackage HTTP
 
-  * @since 4.4.0
 
-  */
 
- /**
 
-  * Core class used to prepare HTTP responses.
 
-  *
 
-  * @since 4.4.0
 
-  */
 
- #[AllowDynamicProperties]
 
- class WP_HTTP_Response {
 
- 	/**
 
- 	 * Response data.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 * @var mixed
 
- 	 */
 
- 	public $data;
 
- 	/**
 
- 	 * Response headers.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 * @var array
 
- 	 */
 
- 	public $headers;
 
- 	/**
 
- 	 * Response status.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 * @var int
 
- 	 */
 
- 	public $status;
 
- 	/**
 
- 	 * Constructor.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 *
 
- 	 * @param mixed $data    Response data. Default null.
 
- 	 * @param int   $status  Optional. HTTP status code. Default 200.
 
- 	 * @param array $headers Optional. HTTP header map. Default empty array.
 
- 	 */
 
- 	public function __construct( $data = null, $status = 200, $headers = array() ) {
 
- 		$this->set_data( $data );
 
- 		$this->set_status( $status );
 
- 		$this->set_headers( $headers );
 
- 	}
 
- 	/**
 
- 	 * Retrieves headers associated with the response.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 *
 
- 	 * @return array Map of header name to header value.
 
- 	 */
 
- 	public function get_headers() {
 
- 		return $this->headers;
 
- 	}
 
- 	/**
 
- 	 * Sets all header values.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 *
 
- 	 * @param array $headers Map of header name to header value.
 
- 	 */
 
- 	public function set_headers( $headers ) {
 
- 		$this->headers = $headers;
 
- 	}
 
- 	/**
 
- 	 * Sets a single HTTP header.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 *
 
- 	 * @param string $key     Header name.
 
- 	 * @param string $value   Header value.
 
- 	 * @param bool   $replace Optional. Whether to replace an existing header of the same name.
 
- 	 *                        Default true.
 
- 	 */
 
- 	public function header( $key, $value, $replace = true ) {
 
- 		if ( $replace || ! isset( $this->headers[ $key ] ) ) {
 
- 			$this->headers[ $key ] = $value;
 
- 		} else {
 
- 			$this->headers[ $key ] .= ', ' . $value;
 
- 		}
 
- 	}
 
- 	/**
 
- 	 * Retrieves the HTTP return code for the response.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 *
 
- 	 * @return int The 3-digit HTTP status code.
 
- 	 */
 
- 	public function get_status() {
 
- 		return $this->status;
 
- 	}
 
- 	/**
 
- 	 * Sets the 3-digit HTTP status code.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 *
 
- 	 * @param int $code HTTP status.
 
- 	 */
 
- 	public function set_status( $code ) {
 
- 		$this->status = absint( $code );
 
- 	}
 
- 	/**
 
- 	 * Retrieves the response data.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 *
 
- 	 * @return mixed Response data.
 
- 	 */
 
- 	public function get_data() {
 
- 		return $this->data;
 
- 	}
 
- 	/**
 
- 	 * Sets the response data.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 *
 
- 	 * @param mixed $data Response data.
 
- 	 */
 
- 	public function set_data( $data ) {
 
- 		$this->data = $data;
 
- 	}
 
- 	/**
 
- 	 * Retrieves the response data for JSON serialization.
 
- 	 *
 
- 	 * It is expected that in most implementations, this will return the same as get_data(),
 
- 	 * however this may be different if you want to do custom JSON data handling.
 
- 	 *
 
- 	 * @since 4.4.0
 
- 	 *
 
- 	 * @return mixed Any JSON-serializable value.
 
- 	 */
 
- 	public function jsonSerialize() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
 
- 		return $this->get_data();
 
- 	}
 
- }
 
 
  |