Abstract http client for:
- guzzle
Via Composer
$ composer require williamespindola/abstract-http-client
extend
...
use WilliamEspindola\AbstractHTTPClient\AbstractRequest;
use GuzzleHttp\Psr7\Response;
...
final class MyRequest extends AbstractRequest
{
/**
* @var string $endPoint End point of resource
*/
protected $endPoint = '/some/end-point/:someStringParam';
public function request(string $someStringParam, int $someIntParam): Response
{
$this->setParameters([':someStringParam' => $someStringParam]);
$this->httpClient->setOptions(['form_params' => ['someIntParam' => $someIntParam]]);
return $this->httpClient->request('POST', $this->getURI());
}
}
Instance
use GuzzleHttp\Client;
use WilliamEspindola\AbstractHTTPClient\MyRequest;
use WilliamEspindola\AbstractHTTPClient\Client\GuzzleClient;
$instance = new MyRequest(new GuzzleClient(new Client), 'http://url');
Using extra query string
namespace WilliamEspindola\AbstractHTTPClient
...
use WilliamEspindola\AbstractHTTPClient\Client\AbstractRequest;
use WilliamEspindola\AbstractHTTPClient\Client\QueryString\ExtraQueryString;
use GuzzleHttp\Psr7\Response;
...
final class MyRequest extends AbstractRequest
{
use ExtraQueryString;
/**
* @var string $endPoint End point of resource
*/
protected $endPoint = '/some/end-point/:someStringParam';
public function request(string $someStringParam, int $someIntParam): Response
{
$this->setParameters([':someStringParam' => $someStringParam]);
$this->httpClient->setOptions(['form_params' => ['someIntParam' => $someIntParam]]);
return $this->httpClient
->request(
'POST',
$this->getUriWithExtraString($this->getURI())
);
}
}
Please see CHANGELOG for more information on what has changed recently.
$ composer test
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
If you discover any security related issues, please email oi@williamespindola.com.br instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.