private function request ( $method, $url, array $url_parameters = [], array $options = [] )
    {
        $method = mb_strtoupper($method);

        if (!empty($url_parameters)) {
          $options['query'] = $url_parameters;
        }

        // Set JSON headers
        $options['headers']['Accept']       = 'application/json';
        $options['headers']['Content-Type'] = 'application/json; charset=utf-8';

        // Set "on behalf of user" header
        if ( mb_strlen($this->on_behalf_of_user) ) {
            $options['headers']['X-On-Behalf-Of'] = $this->on_behalf_of_user;
        }

        $http_client_response = $this->http_client->request( $method, $url, $options );
        if ( !is_object($http_client_response) ) {
            throw new \RuntimeException('Unable to create HTTP client request.');
        }

        // Turn HTTP client's response into our own.
        $response = new Response(
            $http_client_response->getStatusCode(),
            $http_client_response->getReasonPhrase(),
            $http_client_response->getBody(),
            $http_client_response->getHeaders()
        );

        $this->setLastResponse($response);

        return $response;
    }
private function request ( $method, $url, array $url_parameters = [], array $options = [] )
    {
        $method = mb_strtoupper($method);

        if (!empty($url_parameters)) {
          $options['query'] = $url_parameters;
        }

        // Set JSON headers
        $options['headers']['Accept']       = 'application/json';
        $options['headers']['Content-Type'] = 'application/json; charset=utf-8';

        // Set "on behalf of user" header
        if ( mb_strlen($this->on_behalf_of_user) ) {
            $options['headers']['X-On-Behalf-Of'] = $this->on_behalf_of_user;
        }

        $http_client_response = $this->http_client->request( $method, $url, $options );
        if ( !is_object($http_client_response) ) {
            throw new \RuntimeException('Unable to create HTTP client request.');
        }

        // Turn HTTP client's response into our own.
        $response = new Response(
            $http_client_response->getStatusCode(),
            $http_client_response->getReasonPhrase(),
            $http_client_response->getBody(),
            $http_client_response->getHeaders()
        );

        $this->setLastResponse($response);

        return $response;
    }
private function request ( $ method , $ url , array $ url_parameters = [ ] , array $ options = [ ] ) { $ method = mb_strtoupper ( $ method ) ; if ( ! empty ( $ url_parameters ) ) { $ options [ 'query' ] = $ url_parameters ; } // Set JSON headers $ options [ 'headers' ] [ 'Accept' ] = 'application/json' ; $ options [ 'headers' ] [ 'Content-Type' ] = 'application/json; charset=utf-8' ; // Set "on behalf of user" header if ( mb_strlen ( $ this -> on_behalf_of_user ) ) { $ options [ 'headers' ] [ 'X-On-Behalf-Of' ] = $ this -> on_behalf_of_user ; } $ http_client_response = $ this -> http_client -> request ( $ method , $ url , $ options ) ; if ( ! is_object ( $ http_client_response ) ) { throw new \ RuntimeException ( 'Unable to create HTTP client request.' ) ; } // Turn HTTP client's response into our own. $ response = new Response ( $ http_client_response -> getStatusCode ( ) , $ http_client_response -> getReasonPhrase ( ) , $ http_client_response -> getBody ( ) , $ http_client_response -> getHeaders ( ) ) ; $ this -> setLastResponse ( $ response ) ; return $ response ; }
Executes a request.

@param String $method         GET, PUT, POST, DELETE
@param String $url            E. g. tickets/1
@param Array  $url_parameters E. g. [ 'expand' => true, ]

@return Response object
Executes a request .