File manager - Edit - /home/verseaumee/middletvnew/wp-content/plugins/armember/lib/tumblr/OAuth.php
Back
<?php class Curl { /** * Default curl options * * These defaults options can be overwritten when sending requests. * * See setCurlOptions() * * @var array */ protected $curlOptions = [ CURLOPT_TIMEOUT => 30, CURLOPT_CONNECTTIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_MAXREDIRS => 5, CURLINFO_HEADER_OUT => true, CURLOPT_ENCODING => 'identity', // phpcs:ignore CURLOPT_USERAGENT => 'Hybridauth, PHP Social Authentication Library (https://github.com/hybridauth/hybridauth)', ]; /** * Method request() arguments * * This is used for debugging. * * @var array */ protected $requestArguments = []; /** * Default request headers * * @var array */ protected $requestHeader = [ 'Accept' => '*/*', 'Cache-Control' => 'max-age=0', 'Connection' => 'keep-alive', 'Expect' => '', 'Pragma' => '', ]; /** * Raw response returned by server * * @var string */ protected $responseBody = ''; /** * Response HTTP status code * * @var integer */ public function request( $uri, $method = 'GET', $parameters = [], $headers = [], $multipart = false ) { $this->requestHeader = array_replace( $this->requestHeader, (array) $headers ); $this->requestArguments = [ 'uri' => $uri, 'method' => $method, 'parameters' => $parameters, 'headers' => $this->requestHeader, ]; $curl = curl_init(); switch ($method) { case 'GET': unset( $this->curlOptions[CURLOPT_POST] ); unset( $this->curlOptions[CURLOPT_POSTFIELDS] ); $uri = $uri . (strpos($uri, '?') ? '&' : '?') . http_build_query($parameters); break; case 'POST': $body_content = $multipart ? $parameters : http_build_query( $parameters ); if ( isset($this->requestHeader['Content-Type'] ) && $this->requestHeader['Content-Type'] == 'application/json' ) { $body_content = json_encode($parameters); } if ( $method === 'POST' ) { $this->curlOptions[CURLOPT_POST] = true; } else { $this->curlOptions[CURLOPT_CUSTOMREQUEST] = $method; } $this->curlOptions[CURLOPT_POSTFIELDS] = $body_content; break; } $this->curlOptions[CURLOPT_URL] = $uri; $this->curlOptions[CURLOPT_HTTPHEADER] = $this->prepareRequestHeaders(); $this->curlOptions[CURLOPT_HEADERFUNCTION] = [ $this, 'fetchResponseHeader' ]; foreach ( $this->curlOptions as $opt => $value ) { curl_setopt($curl, $opt, $value); } $response = curl_exec($curl); $this->responseBody = $response; curl_close( $curl ); return $this->responseBody; } /** * Reset curl options * * @param array $curlOptions */ public function setCurlOptions( $curlOptions ) { foreach ( $curlOptions as $opt => $value ) { $this->curlOptions[ $opt ] = $value; } } /** * Fetch server response headers * * @param mixed $curl * @param string $header * * @return integer */ protected function fetchResponseHeader( $curl, $header ) { $pos = strpos( $header, ':' ); if (! empty( $pos ) ) { $key = str_replace( '-', '_', strtolower( substr( $header, 0, $pos ) ) ); $value = trim( substr( $header, $pos + 2 ) ); $this->responseHeader[ $key ] = $value; } return strlen( $header ); } /** * Convert request headers to the expect curl format * * @return array */ protected function prepareRequestHeaders() { $headers = []; foreach ($this->requestHeader as $header => $value) { $headers[] = trim($header) .': '. trim($value); } return $headers; } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings