Skip to content
Snippets Groups Projects

bugfix(logger): memory consumption

Merged Grzegorz Rola requested to merge bugfix/memory-consumption into master
Files
2
@@ -4,6 +4,7 @@ namespace WPDesk\ApiClient\Client;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
use WPDesk\HttpClient\HttpClient;
use WPDesk\HttpClient\HttpClientResponse;
use WPDesk\ApiClient\Request\Request;
@@ -36,6 +37,9 @@ class ClientImplementation implements Client, LoggerAwareInterface
/** @var int */
private $timeout;
/** @var bool */
private $is_logger_available = false;
/**
* Client constructor.
* @param HttpClient $client
@@ -59,6 +63,7 @@ class ClientImplementation implements Client, LoggerAwareInterface
$this->apiUrl = $apiUri;
$this->defaultRequestHeaders = $defaultRequestHeaders;
$this->timeout = $timeout;
$this->is_logger_available = ! $logger instanceof NullLogger;
}
/**
@@ -70,8 +75,10 @@ class ClientImplementation implements Client, LoggerAwareInterface
*/
public function sendRequest(Request $request)
{
$this->logger->debug("Sends request with METHOD: {$request->getMethod()}; to ENDPOINT {$request->getEndpoint()}",
$this->getLoggerContext());
if ($this->is_logger_available) {
$this->logger->debug("Sends request with METHOD: {$request->getMethod()}; to ENDPOINT {$request->getEndpoint()}",
$this->getLoggerContext());
}
try {
$httpResponse = $this->client->send(
$fullUrl = $this->prepareFullUrl($request),
@@ -81,11 +88,16 @@ class ClientImplementation implements Client, LoggerAwareInterface
$this->timeout
);
$this->logger->debug(
"Sent request with: URL: {$fullUrl};\n METHOD: {$method};\n BODY: {$body};\n"
. "HEADERS: " . json_encode($headers) . "\n\n and got response as CODE: {$httpResponse->getResponseCode()};\n"
. "with RESPONSE BODY {$httpResponse->getBody()}",
$this->getLoggerContext());
if ($this->is_logger_available) {
$this->logger->debug(
"Sent request with: URL: {$fullUrl};\n METHOD: {$method};\n BODY: {$body};\n"
."HEADERS: ".json_encode(
$headers
)."\n\n and got response as CODE: {$httpResponse->getResponseCode()};\n"
."with RESPONSE BODY {$httpResponse->getBody()}",
$this->getLoggerContext()
);
}
return $this->mapHttpResponseToApiResponse($httpResponse);
@@ -218,4 +230,4 @@ class ClientImplementation implements Client, LoggerAwareInterface
}
}
\ No newline at end of file
}
Loading