This library let's you dump a Guzzle request to a cURL command for debug and log purpose.
Clone or download
Latest commit 119f5b4 Apr 14, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
example Cuzzle 0.1.0 Sep 1, 2014
src Add the change and avoid the FatalErrorException in CurlFormatter.php Oct 15, 2016
tests CurlFormatterTest Oct 16, 2016
.gitignore Remove change in gitignore and update the test Oct 15, 2016
.travis.yml Run Travis test for 7.1 Apr 14, 2017 typofix Jul 8, 2016
composer.json Migrated to guzzle 6.x Apr 7, 2016
phpunit.xml.dist Cuzzle 0.1.0 Sep 1, 2014

Cuzzle, cURL command from Guzzle requests

Build Status

This library let's you dump a Guzzle request to a cURL command for debug and log purpose.


This library needs PHP 5.5+.

It has been tested using PHP5.5 to PHP7.0 and HHVM.


You can install the library directly with composer:

composer require namshi/cuzzle

(Add --dev if you don't need it in production environment)


use Namshi\Cuzzle\Formatter\CurlFormatter;
use GuzzleHttp\Message\Request;

$request = new Request('GET', 'example.local');
$options = [];

echo (new CurlFormatter())->format($request, $options);

To log the cURL request generated from a Guzzle request, simply add CurlFormatterSubscriber to Guzzle:

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use Namshi\Cuzzle\Middleware\CurlFormatterMiddleware;
use Monolog\Logger;
use Monolog\Handler\TestHandler;

$logger = new Logger(''); //initialize the logger
$testHandler = new TestHandler(); //test logger handler

$handler = HandlerStack::create();
$handler->after('cookies', new CurlFormatterMiddleware($logger)); //add the cURL formatter middleware
$client  = new Client(['handler' => $handler]); //initialize a Guzzle client

$response = $client->get(''); //let's fire a request

var_dump($testHandler->getRecords()); //check the cURL request in the logs, 
//you should see something like: "curl '' -H 'User-Agent: Guzzle/4.2.1 curl/7.37.1 PHP/5.5.16"


You can run tests locally with



Add an issue, open a PR, drop us an email! We would love to hear from you!