JRA, PHP cAPI interface
  • Namespace
  • Class
  • Tree

Namespaces

  • JRA
    • Abstracts
    • Commands
      • Invokers
      • Methods
        • Content
        • Token
        • User
      • Routes
    • ComposerHandler
    • Config
      • Helper
    • Exceptions
    • Facades
    • Factories
    • Interfaces
    • Objects
      • Response
        • Data
    • Responsibilities
      • Handlers
      • Responsible
        • Login
        • Logout

Classes

  • JRA\Abstracts\AbstractCommand
  • JRA\Abstracts\AbstractMethod
  • JRA\Commands\ContentCommand
  • JRA\Commands\Invokers\CommandInvoker
  • JRA\Commands\Methods\Content\DeleteContentId
  • JRA\Commands\Methods\Content\GetCategoryFields
  • JRA\Commands\Methods\Content\GetCategoryListAll
  • JRA\Commands\Methods\Content\GetCategoryListIdCategories
  • JRA\Commands\Methods\Content\GetCategoryListIdContent
  • JRA\Commands\Methods\Content\GetCategorySingleId
  • JRA\Commands\Methods\Content\GetContentFields
  • JRA\Commands\Methods\Content\GetContentListAll
  • JRA\Commands\Methods\Content\GetContentSingleId
  • JRA\Commands\Methods\Content\PostContentCreate
  • JRA\Commands\Methods\Content\PostContentUpdateId
  • JRA\Commands\Methods\Token\GetTokenToken
  • JRA\Commands\Methods\User\GetUser
  • JRA\Commands\Methods\User\GetUserLoginUsernamePassword
  • JRA\Commands\Methods\User\GetUserLogoutUserSession
  • JRA\Commands\Methods\User\GetUserSessions
  • JRA\Commands\Methods\User\PutUserProfile
  • JRA\Commands\Methods\User\PutUserProfileId
  • JRA\Commands\Routes\ContentRoutes
  • JRA\Commands\Routes\TokenRoutes
  • JRA\Commands\Routes\UserRoutes
  • JRA\Commands\TokenCommand
  • JRA\Commands\UserCommand
  • JRA\ComposerHandler\GuzzleHandler
  • JRA\Config\ARSAnnatech
  • JRA\Config\Authenticate
  • JRA\Config\Helper\APIRoutes
  • JRA\Config\Helper\Versions
  • JRA\Config\Server
  • JRA\Config\Version
  • JRA\Facades\APIFacade
  • JRA\Facades\ConfigFacade
  • JRA\Factories\ChainFactory
  • JRA\Factories\CommandFactory
  • JRA\Factories\ConfigFactory
  • JRA\Factories\GuzzleFactory
  • JRA\Factories\InternalFactory
  • JRA\FrontFactory
  • JRA\Objects\CreateContentObject
  • JRA\Objects\Response\CategoryFieldsResponseObject
  • JRA\Objects\Response\CategoryListResponseObject
  • JRA\Objects\Response\CategoryResponseObject
  • JRA\Objects\Response\ContentDeleteResponseObject
  • JRA\Objects\Response\ContentFieldsResponseObject
  • JRA\Objects\Response\ContentListResponseObject
  • JRA\Objects\Response\ContentResponseObject
  • JRA\Objects\Response\Data\CategoryObject
  • JRA\Objects\Response\Data\ContentObject
  • JRA\Objects\Response\Data\DatabaseFieldObject
  • JRA\Objects\Response\Data\SessionObject
  • JRA\Objects\Response\JResponseObject
  • JRA\Objects\Response\MsgResponseObject
  • JRA\Objects\Response\SessionResponseObject
  • JRA\Objects\Response\UserLoginResponseObject
  • JRA\Objects\Response\UserLogoutResponseObject
  • JRA\Objects\StateObject
  • JRA\Objects\UpdateContentObject
  • JRA\Objects\UpdateUserProfileObject
  • JRA\Responsibilities\Handlers\AbstractLoginHandler
  • JRA\Responsibilities\Handlers\AbstractLogoutHandler
  • JRA\Responsibilities\Responsible\Login\HeaderTokenLogin
  • JRA\Responsibilities\Responsible\Login\TokenLogin
  • JRA\Responsibilities\Responsible\Login\UserCredentialsLogin
  • JRA\Responsibilities\Responsible\Logout\TokenLogout
  • JRA\Responsibilities\Responsible\Logout\UserCredentialsLogout

Interfaces

  • JRA\Interfaces\ConfigInterface

Exceptions

  • JRA\Exceptions\APIException
  • JRA\Exceptions\AuthenticationConfigException
  • JRA\Exceptions\CommandException
  • JRA\Exceptions\JRAException
  • JRA\Exceptions\ServerConfigException
  • JRA\Exceptions\TokenConfigException
  • JRA\Exceptions\UserAPIException
  • JRA\Exceptions\UserCredentialsConfigException
  • JRA\Exceptions\VersionException
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 
<?php
/**
 * Created by PhpStorm.
 * Copyright: Bertschi AG, 2016
 * User: jbaumann
 * File: GuzzleHandler.php
 * Date: 03.02.2016
 * Time: 08:32
 */

namespace JRA\ComposerHandler;


use Guzzle\Http\Client;
use JRA\Config\Authenticate;
use JRA\Facades\ConfigFacade;
use JRA\Factories\InternalFactory;
use JRA\Interfaces\ConfigInterface;

class GuzzleHandler
{
    /**
     * The given configuration.
     *
     * @var ConfigFacade
     */
    private $_config;

    /**
     * The internal used factory.
     *
     * @var InternalFactory
     */
    private $_factory;

    /**
     * The guzzle client object.
     *
     * @var Client
     */
    private $_client;

    /**
     * GuzzleHandler constructor.
     *
     * @param ConfigFacade|ConfigInterface $pConfig
     * @param InternalFactory $pFactory
     */
    public function __construct(ConfigInterface $pConfig, InternalFactory $pFactory)
    {
        $this->_config = $pConfig;
        $this->_factory = $pFactory;
        $this->_client = $this->_factory->getGuzzleFactory()->getHttpClientObject($this->_configurationOptions());
        $this->_client->addSubscriber($this->_factory->getGuzzleFactory()->getCookiePlugin());
    }

    /**
     * Make a get request to the given path.
     *
     * @param string $pPath
     * @return \Guzzle\Http\Message\Response
     */
    public function get($pPath)
    {
        $request = $this->_client->get($pPath);
        $response = $request->send();
        return $response;
    }

    /**
     * Make a put request to the given path.
     *
     * @param string $pPath
     * @return \Guzzle\Http\Message\Response
     */
    public function put($pPath)
    {
        $request = $this->_client->put($pPath);
        $response = $request->send();
        return $response;
    }

    /**
     * Make a delete request to the given path.
     *
     * @param string $pPath
     * @return \Guzzle\Http\Message\Response
     */
    public function delete($pPath)
    {
        $request = $this->_client->delete($pPath);
        $response = $request->send();
        return $response;
    }

    /**
     * Make a post request to the given path.
     *
     * @param string $pPath
     * @param array $pData
     * @return \Guzzle\Http\Message\Response
     */
    public function post($pPath, $pData)
    {
        $request = $this->_client->post($pPath, null, $pData);
        $response = $request->send();
        return $response;
    }

    /**
     * If the authentication is set on header authentication. An header with the required arguments will be created.
     *
     * @return array
     */
    private function _configurationOptions()
    {
        $response = array();
        if ($this->_config->getAuthenticationMethod() === Authenticate::AUTH_METHOD_HEADER_TOKEN) {
            $response['request.options']['headers']['token'] = $this->_config->getAuthenticationCredentials();
        }
        return $response;
    }
}
JRA, PHP cAPI interface API documentation generated by ApiGen