server/src/app/Providers/GuzzleServiceProvider.php
author ymh <ymh.work@gmail.com>
Mon, 12 Jun 2017 14:53:59 +0200
changeset 537 d2e6ee099125
parent 533 a557802f2b12
permissions -rw-r--r--
upgrade ember + laravel + make everything work
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
namespace CorpusParole\Providers;
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
use Illuminate\Support\ServiceProvider;
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
use GuzzleHttp\Client;
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
/**
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 * guzzle Service Provider, inspired by https://github.com/urakozz/laravel-guzzle
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 */
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
class GuzzleServiceProvider extends ServiceProvider
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
{
533
a557802f2b12 Make guzzle client use the proxy configuration when injected by the ioc
ymh <ymh.work@gmail.com>
parents: 139
diff changeset
    13
a557802f2b12 Make guzzle client use the proxy configuration when injected by the ioc
ymh <ymh.work@gmail.com>
parents: 139
diff changeset
    14
    private function bindToKey($key) {
a557802f2b12 Make guzzle client use the proxy configuration when injected by the ioc
ymh <ymh.work@gmail.com>
parents: 139
diff changeset
    15
        $this->app->bind($key, function() {
a557802f2b12 Make guzzle client use the proxy configuration when injected by the ioc
ymh <ymh.work@gmail.com>
parents: 139
diff changeset
    16
            $config = isset($this->app['config']['guzzle']) ? $this->app['config']['guzzle'] : [];
a557802f2b12 Make guzzle client use the proxy configuration when injected by the ioc
ymh <ymh.work@gmail.com>
parents: 139
diff changeset
    17
            return new Client($config);
a557802f2b12 Make guzzle client use the proxy configuration when injected by the ioc
ymh <ymh.work@gmail.com>
parents: 139
diff changeset
    18
        });
a557802f2b12 Make guzzle client use the proxy configuration when injected by the ioc
ymh <ymh.work@gmail.com>
parents: 139
diff changeset
    19
    }
23
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    /**
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
     * Register the Guzzle provider
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
     *
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
     * @return GuzzleClient
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
     */
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    public function register()
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    {
533
a557802f2b12 Make guzzle client use the proxy configuration when injected by the ioc
ymh <ymh.work@gmail.com>
parents: 139
diff changeset
    27
        $this->bindToKey('Guzzle');
a557802f2b12 Make guzzle client use the proxy configuration when injected by the ioc
ymh <ymh.work@gmail.com>
parents: 139
diff changeset
    28
        $this->bindToKey('GuzzleHttp\Client');
23
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    }
037687868bc4 add viaf resolver service & api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
}