Skip to content
/ cuzzle Public
forked from namshi/cuzzle

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

Notifications You must be signed in to change notification settings

vicleca/cuzzle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Prerequisites

This library needs PHP 5.6+.

It has been tested using PHP5.6 to PHP7.0.

Installation

You can install the library directly with composer:

composer require vicleca/cuzzle

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

Usage

use Vicleca\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 Vicleca\Cuzzle\Middleware\CurlFormatterMiddleware;
use Monolog\Logger;
use Monolog\Handler\TestHandler;

$logger = new Logger('guzzle.to.curl'); //initialize the logger
$testHandler = new TestHandler(); //test logger handler
$logger->pushHandler($testHandler);

$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('http://google.com'); //let's fire a request

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

Tests

You can run tests locally with

phpunit

Feedback

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

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%