svsoft / symfony-request-builder
Simple builder for the sending request based on the component symfony/http-client
v1.0.3
2024-11-28 15:53 UTC
Requires
- php: >=8.1
- symfony/http-client: ^5.0|^6.0|^7.0
- symfony/mime: ^5.0|^6.0|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.62
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^10.5
README
Simple builder for the sending request based on the component symfony/http-client
Usage
<?php use Svsoft\SymfonyRequestBuilder\RequestBuilder; $client = new \Symfony\Component\HttpClient\CurlHttpClient(); // send query string with timeout $response = RequestBuilder::create($clinet) ->get('/api/product/search') ->setQueryParam('query', 'Some phone') ->setTimeout(5) ->request(); // send body as json $response = RequestBuilder::create($clinet) ->post('/api/product') ->setBodyParam('name', 'Some phone') ->setBodyParam('price', '10000') ->request(); // send body as form $response = RequestBuilder::create($clinet) ->post('/api/product') ->setBodySerializer(new \Svsoft\SymfonyRequestBuilder\BodySerializer\BodySerializerFormData()) ->setBodyParam('name', 'Some phone') ->setBodyParam('price', '10000') ->request(); // send body as json with any options like in HttpClientInterface::request $options = [ 'query' => [ 'version' => 12345 ] ]; $response = RequestBuilder::create($clinet) ->patch('/api/product') ->setBodyParam('name', 'Some super phone') ->setOptions($options) ->request();
License
MIT