Viewing file: MessageClient.php (1.98 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Plivo;
use Plivo\Authentication\BasicAuth; use Plivo\Http\PlivoRequest; use Plivo\Http\PlivoResponse; use Plivo\HttpClients\PlivoGuzzleHttpClient; use Plivo\HttpClients\PlivoHttpClientInterface; use Plivo\Exceptions\PlivoRestException; use Plivo\Util\ArrayOperations;
/** * Class MessageClient * * @package Plivo */ class MessageClient extends BaseClient {
/** * Prepares the request for sending to the client handler. * * @param PlivoRequest $request * * @return array */ public function prepareRequestMessage(PlivoRequest $request, $fullUrl = null) { $url = $fullUrl ? $fullUrl : self::BASE_API_URL . $request->getUrl();
$requestBody = json_encode($request->getParams());
return [ $url, $request->getMethod(), $request->getHeaders(), $requestBody, ]; }
/** * @param PlivoRequest $request * @param null $url * @return PlivoResponse * @throws Exceptions\PlivoRequestException * @throws PlivoRestException */ public function sendRequest(PlivoRequest $request, $url = null) { $fullUrl = $url ? $url : null; list($url, $method, $headers, $body) = $this->prepareRequestMessage($request, $fullUrl);
$timeout = $this->timeout ?: static::DEFAULT_REQUEST_TIMEOUT;
$plivoResponse = $this->httpClientHandler->send_request( $url, $method, $body, $headers, $timeout, $request);
static::$requestCount++;
if (!$plivoResponse->ok()) { return $plivoResponse; }
return $plivoResponse; }
/** * Update method * @param string $uri * @param array $params * @return PlivoResponse */ public function update($uri, $params) { $request = new PlivoRequest( 'POST', $uri, ArrayOperations::removeNull($params));
return $this->sendRequest($request); }
}
|