PHPackages                             pensiero/artax-composer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. pensiero/artax-composer

ActiveLibrary[HTTP &amp; Networking](/categories/http)

pensiero/artax-composer
=======================

Wrapper of the Artax library

v1.0.0(9y ago)11.5k3BSD-3-ClausePHPPHP &gt;=5.4

Since May 16Pushed 9y ago1 watchersCompare

[ Source](https://github.com/pensiero/artax-composer)[ Packagist](https://packagist.org/packages/pensiero/artax-composer)[ Docs](https://github.com/pensiero/artax-composer)[ RSS](/packages/pensiero-artax-composer/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (5)Dependencies (5)Versions (6)Used By (0)

artax-composer
==============

[](#artax-composer)

ArtaxComposer is a [Zend Framework 2](https://github.com/zendframework/zendframework) service wrapper around the [amphp/artax](https://github.com/amphp/artax) client

Getting Started
---------------

[](#getting-started)

```
composer require pensiero/artax-composer

```

Add `ArtaxComposer` as module in your `application.config.php`

Usage
-----

[](#usage)

You will now have access to the `ArtaxComposer\Service\ArtaxService` service.

You can get it in your factory:

```
/** @var \ArtaxComposer\Service\ArtaxService $artaxService */
$artaxService = $serviceLocator->get('ArtaxComposer\Service\ArtaxService');

```

Configs
-------

[](#configs)

By default ArtaxComposer come with this [configs](blob/master/config/module.config.php)

```
    'artax_composer'  => [

        /*
         * Cache could be:
         *  - null
         *  - an instance of Zend\Cache\Storage\Adapter\AbstractAdapter
         *  - a string rapresenting a service to search inside the serviceLocator
         */
        'cache' => null,

        /*
         * If seeds are enabled, the system will write inside the specified seeds directory the result of each request
         * Clear the seeds directory in order to have fresh results
         */
        'seeds' => [
            'enabled'   => false,
            'directory' => 'data/seeds/',
        ],

        /*
         * Default headers to add inside each request
         */
        'default_headers' => [
            'Accept'       => 'application/json',
            'Content-Type' => 'application/json; charset=utf-8',
        ],

        /*
         * Enable or not the newrelic extension
         */
        'newrelic' => false,
    ],

```

You can ovveride them in your `module.config.php`

Available methods
-----------------

[](#available-methods)

Each methods is chainable, except for the `get()`, `post()`, `put()` and `delete()` methods.

#### setUri(string $uri)

[](#seturistring-uri)

Set the URI of the request.

#### setParams(array $params)

[](#setparamsarray-params)

Set the params passed to the request. GET params should not be passed in the uri, but via this method.

#### addHeader(string $name, string $value)

[](#addheaderstring-name-string-value)

Add an header.

#### setHeaders(array $headers)

[](#setheadersarray-headers)

Replace all headers via those passed.

#### withHeaders()

[](#withheaders)

Return headers along the response.

#### setAuthToken(string $authToken)

[](#setauthtokenstring-authtoken)

Set an header authorization token in the form key: `Authorization`, value: `Token token="AUTH_TOKEN"`.

#### useCache(int $ttl = null)

[](#usecacheint-ttl--null)

Cache each request via the cache defined in `module.config.php` (example below).

#### reset()

[](#reset)

Reset all params passed before. Default headers will be restored if previously overwritten.

#### debug()

[](#debug)

Instead of the response, return an array of all the configuration passed to the service.

#### returnObject()

[](#returnobject)

The response will be an object.

#### returnArray()

[](#returnarray)

The response will be an array.

#### returnObject()

[](#returnobject-1)

The response will be a json string.

#### get()

[](#get)

Perform a GET request and `return` a response.

#### post()

[](#post)

Perform a POST request and `return` a response.

#### put()

[](#put)

Perform a PUT request and `return` a response.

#### delete()

[](#delete)

Perform a DELETE request and `return` a response.

Examples
--------

[](#examples)

### Simple GET request with params

[](#simple-get-request-with-params)

```
$response = $this
    ->artaxService
    ->setUri('https://api.github.com/users/pensiero')
    ->setParams([
      'bacon' => 'slurp',
    ])
    ->get();

```

### POST request with params and cache

[](#post-request-with-params-and-cache)

In your `module.config.php`

```
    'service_manager' => [
        'factories'          => [
            'Application\Cache\Redis' => 'Application\Cache\RedisFactory',
        ],
    ],
    'artax_composer'  => [
        'cache' => 'Application\Cache\Redis',
    ],

```

Create `module/src/Application/Cache/RedisFactory.php`

```
