Skip to content
Snippets Groups Projects
Commit 2a9679ea authored by Marcin Kolanko's avatar Marcin Kolanko
Browse files

code format

parent 92828006
No related branches found
No related tags found
1 merge request!3Devel
Pipeline #5086 failed with stages
in 1 minute and 46 seconds
......@@ -5,8 +5,8 @@ namespace iFirmaVendor\WPDesk\HttpClient\Curl;
use iFirmaVendor\WPDesk\HttpClient\HttpClient;
use iFirmaVendor\WPDesk\HttpClient\HttpClientResponse;
use iFirmaVendor\WPDesk\HttpClient\HttpClientRequestException;
class CurlClient implements \iFirmaVendor\WPDesk\HttpClient\HttpClient
{
class CurlClient implements \iFirmaVendor\WPDesk\HttpClient\HttpClient {
/** @var resource */
private $curlResource;
/** @var string|null|boolean */
......@@ -15,69 +15,72 @@ class CurlClient implements \iFirmaVendor\WPDesk\HttpClient\HttpClient
private $httpResponseCode;
/** @var array */
private $headers = array();
/**
* @param string $url
* @param string $body
* @param array $headers
* @param int $timeOut
* @param array $headers
* @param int $timeOut
*
* @return HttpClientResponse
* @throws HttpClientRequestException
*/
public function get($url, $body, array $headers, $timeOut)
{
return $this->send($url, 'GET', $body, $headers, $timeOut);
public function get( $url, $body, array $headers, $timeOut ) {
return $this->send( $url, 'GET', $body, $headers, $timeOut );
}
/**
* @param string $url
* @param string $method
* @param string $body
* @param array $headers
* @param int $timeOut
* @param array $headers
* @param int $timeOut
*
* @return HttpClientResponse
* @throws HttpClientRequestException
*/
public function send($url, $method, $body, array $headers, $timeOut)
{
public function send( $url, $method, $body, array $headers, $timeOut ) {
$this->initResource();
try {
$this->prepareConnection($url, $method, $body, $headers, $timeOut);
$this->prepareConnection( $url, $method, $body, $headers, $timeOut );
$this->sendRequest();
$this->throwExceptionIfError();
$this->closeConnection();
return $this->prepareResponse();
} catch (\Exception $e) {
} catch ( \Exception $e ) {
$this->closeConnection();
if ($e instanceof \iFirmaVendor\WPDesk\HttpClient\HttpClientRequestException) {
if ( $e instanceof \iFirmaVendor\WPDesk\HttpClient\HttpClientRequestException ) {
throw $e;
}
throw \iFirmaVendor\WPDesk\HttpClient\Curl\CurlExceptionFactory::createDefaultException($e->getMessage(), $e->getCode(), $e);
throw \iFirmaVendor\WPDesk\HttpClient\Curl\CurlExceptionFactory::createDefaultException( $e->getMessage(), $e->getCode(), $e );
}
}
private function initResource()
{
private function initResource() {
$this->curlResource = \curl_init();
}
/**
* Opens a new curl connection.
*
* @param string $url The endpoint to send the request to.
* @param string $method The request method.
* @param string $body The body of the request.
* @param array $headers The request headers.
* @param int $timeOut The timeout in seconds for the request.
* @param string $url The endpoint to send the request to.
* @param string $method The request method.
* @param string $body The body of the request.
* @param array $headers The request headers.
* @param int $timeOut The timeout in seconds for the request.
*/
private function prepareConnection($url, $method, $body, array $headers, $timeOut)
{
private function prepareConnection( $url, $method, $body, array $headers, $timeOut ) {
$options = [
\CURLOPT_CUSTOMREQUEST => $method,
\CURLOPT_HTTPHEADER => $this->compileRequestHeaders($headers),
\CURLOPT_URL => $url,
\CURLOPT_CUSTOMREQUEST => $method,
\CURLOPT_HTTPHEADER => $this->compileRequestHeaders( $headers ),
\CURLOPT_URL => $url,
\CURLOPT_CONNECTTIMEOUT => 10,
\CURLOPT_TIMEOUT => $timeOut,
\CURLOPT_TIMEOUT => $timeOut,
\CURLOPT_RETURNTRANSFER => \true,
// Return response as string
\CURLOPT_HEADER => \false,
\CURLOPT_HEADER => \false,
// Enable header processing
\CURLOPT_SSL_VERIFYHOST => 2,
\CURLOPT_SSL_VERIFYPEER => \true,
......@@ -88,11 +91,12 @@ class CurlClient implements \iFirmaVendor\WPDesk\HttpClient\HttpClient
return $len;
}
];
if ($method !== "GET") {
$options[\CURLOPT_POSTFIELDS] = $body;
if ( $method !== "GET" ) {
$options[ \CURLOPT_POSTFIELDS ] = $body;
}
\curl_setopt_array($this->curlResource, $options);
\curl_setopt_array( $this->curlResource, $options );
}
/**
* Compiles the request headers into a curl-friendly format.
*
......@@ -100,94 +104,99 @@ class CurlClient implements \iFirmaVendor\WPDesk\HttpClient\HttpClient
*
* @return array
*/
private function compileRequestHeaders(array $headers)
{
private function compileRequestHeaders( array $headers ) {
$return = [];
foreach ($headers as $key => $value) {
foreach ( $headers as $key => $value ) {
$return[] = $key . ': ' . $value;
}
return $return;
}
/**
* Send the request and get the raw response from curl
*/
private function sendRequest()
{
$this->rawResponse = \curl_exec($this->curlResource);
private function sendRequest() {
$this->rawResponse = \curl_exec( $this->curlResource );
$this->httpResponseCode = $this->getHttpResponseCode();
}
/** @return int */
private function getHttpResponseCode()
{
return \intval(\curl_getinfo($this->curlResource, \CURLINFO_HTTP_CODE));
private function getHttpResponseCode() {
return \intval( \curl_getinfo( $this->curlResource, \CURLINFO_HTTP_CODE ) );
}
private function throwExceptionIfError()
{
$errorNumber = \curl_errno($this->curlResource);
if ($errorNumber === 0) {
private function throwExceptionIfError() {
$errorNumber = \curl_errno( $this->curlResource );
if ( $errorNumber === 0 ) {
return;
}
$errorMessage = \curl_error($this->curlResource);
throw \iFirmaVendor\WPDesk\HttpClient\Curl\CurlExceptionFactory::createCurlException($errorMessage, $errorNumber);
$errorMessage = \curl_error( $this->curlResource );
throw \iFirmaVendor\WPDesk\HttpClient\Curl\CurlExceptionFactory::createCurlException( $errorMessage, $errorNumber );
}
/**
* Closes an existing curl connection
*/
private function closeConnection()
{
\curl_close($this->curlResource);
private function closeConnection() {
\curl_close( $this->curlResource );
$this->curlResource = null;
}
private function prepareResponse()
{
list($rawHeaders, $rawBody) = $this->extractResponseHeadersAndBody();
return new \iFirmaVendor\WPDesk\HttpClient\HttpClientResponse($rawHeaders, $rawBody, $this->httpResponseCode);
private function prepareResponse() {
list( $rawHeaders, $rawBody ) = $this->extractResponseHeadersAndBody();
return new \iFirmaVendor\WPDesk\HttpClient\HttpClientResponse( $rawHeaders, $rawBody, $this->httpResponseCode );
}
/**
* Extracts the headers and the body into a two-part array
*
* @return array
*/
private function extractResponseHeadersAndBody()
{
$rawBody = \trim( $this->rawResponse );
$rawHeaders = \trim(implode( "\r\n",$this->headers ));
private function extractResponseHeadersAndBody() {
$rawBody = \trim( $this->rawResponse );
$rawHeaders = \trim( implode( "\r\n", $this->headers ) );
return [ $rawHeaders, $rawBody ];
}
/**
* @param string $url
* @param string $body
* @param array $headers
* @param int $timeOut
* @param array $headers
* @param int $timeOut
*
* @return HttpClientResponse
* @throws HttpClientRequestException
*/
public function post($url, $body, array $headers, $timeOut)
{
return $this->send($url, 'POST', $body, $headers, $timeOut);
public function post( $url, $body, array $headers, $timeOut ) {
return $this->send( $url, 'POST', $body, $headers, $timeOut );
}
/**
* @param string $url
* @param string $body
* @param array $headers
* @param int $timeOut
* @param array $headers
* @param int $timeOut
*
* @return HttpClientResponse
* @throws HttpClientRequestException
*/
public function delete($url, $body, array $headers, $timeOut)
{
return $this->send($url, 'DELETE', $body, $headers, $timeOut);
public function delete( $url, $body, array $headers, $timeOut ) {
return $this->send( $url, 'DELETE', $body, $headers, $timeOut );
}
/**
* @param string $url
* @param string $body
* @param array $headers
* @param int $timeOut
* @param array $headers
* @param int $timeOut
*
* @return HttpClientResponse
* @throws HttpClientRequestException
*/
public function put($url, $body, array $headers, $timeOut)
{
return $this->send($url, 'PUT', $body, $headers, $timeOut);
public function put( $url, $body, array $headers, $timeOut ) {
return $this->send( $url, 'PUT', $body, $headers, $timeOut );
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment