<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
shrikeh / guzzle-middleware-response-timer example snippets
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Promise;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use Shrikeh\GuzzleMiddleware\TimerLogger\Middleware;
>getRealPath(),
Logger::DEBUG
));
// hand it to the middleware (this will create a default working example)
$middleware = Middleware::quickStart($log);
// now create a Guzzle middleware stack
$stack = HandlerStack::create();
// and register the middleware on the stack
$stack->push($middleware());
$config = [
'timeout' => 2,
'handler' => $stack,
];
// then hand the stack to the client
$client = new Client($config);
$promises = [
'facebook' => $client->getAsync('https://www.facebook.com'),
'wikipedia' => $client->getAsync('https://en.wikipedia.org/wiki/Main_Page'),
'google' => $client->getAsync('https://www.google.co.uk'),
];
$results = Promise\settle($promises)->wait();
print $logFile->fread($logFile->getSize());
onolog\Handler\StreamHandler;
use Psr\Log\LogLevel;
use Shrikeh\GuzzleMiddleware\TimerLogger\ServiceProvider\TimerLogger;
$logsPath = __DIR__.'/logs';
if (!is_dir($logsPath)) {
mkdir($logsPath);
}
$logFile = new SplFileObject($logsPath.'/example.log', 'w+');
// create a log channel
$logger = new \Monolog\Logger('guzzle');
$logger->pushHandler(new StreamHandler(
$logFile->getRealPath(),
LogLevel::DEBUG
));
$pimple = new Pimple\Container();
// Create the middleware directly from an active instance of a LoggerInterface
$pimple->register(TimerLogger::fromLogger($logger));
$callable = function() use ($logFile) {
$logger = new \Monolog\Logger('guzzle');
$logger->pushHandler(new StreamHandler(
$logFile->getRealPath(),
LogLevel::DEBUG
));
return $logger;
};
// Alternatively pass a simple callable to the static constructor
$pimple->register(TimerLogger::fromCallable($callable));
$someKeyForALogger = 'some_key_for_a_logger';
$pimple[$someKeyForALogger] = $callable;
$container = new Pimple\Psr11\Container($pimple);
// Or pass it a PSR-11 container and the key that will unwrap the PSR-3 LoggerInterface
$pimple->register(TimerLogger::fromContainer($container, $someKeyForALogger));
// The middleware is good to go.
echo get_class($pimple[TimerLogger::MIDDLEWARE]);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.