本文整理汇总了PHP中Guzzle\Http\ClientInterface类的典型用法代码示例。如果您正苦于以下问题:PHP ClientInterface类的具体用法?PHP ClientInterface怎么用?PHP ClientInterface使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ClientInterface类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: addPsrLoggerToClient
/**
* @param ClientInterface $client
* @param LoggerInterface $logger
* @param null|string $formatter
* @return LogPlugin
*/
public static function addPsrLoggerToClient(ClientInterface $client, LoggerInterface $logger, $formatter = self::SIMPLE_FORMAT)
{
$formatter = is_null($formatter) ? self::SIMPLE_FORMAT : $formatter;
$adapter = new PsrLogAdapter($logger);
$plugin = new LogPlugin($adapter, $formatter);
$client->addSubscriber($plugin);
return $plugin;
}
开发者ID:subscribo,项目名称:omnipay-subscribo-shared,代码行数:14,代码来源:GuzzleClientHelper.php
示例2: factory
/**
* Factory method which allows for easy service creation
*
* @param ClientInterface $client
* @return self
*/
public static function factory(ClientInterface $client)
{
$identity = new self();
if (($client instanceof Base || $client instanceof OpenStack) && $client->hasLogger()) {
$identity->setLogger($client->getLogger());
}
$identity->setClient($client);
$identity->setEndpoint(clone $client->getAuthUrl());
return $identity;
}
开发者ID:skinnard,项目名称:FTL-2,代码行数:16,代码来源:Service.php
示例3: factory
/**
* Factory method which allows for easy service creation
*
* @param ClientInterface $client
* @return self
*/
public static function factory(\Guzzle\Http\ClientInterface $client)
{
$tempAuth = new self();
if (($client instanceof \OpenCloud\Common\Base || $client instanceof \OpenCloud\OpenStack) && $client->hasLogger()) {
$tempAuth->setLogger($client->getLogger());
}
$tempAuth->setClient($client);
$tempAuth->setEndpoint(clone $client->getAuthUrl());
return $tempAuth;
}
开发者ID:fia-net,项目名称:openstack-tempauth,代码行数:16,代码来源:TempAuth.php
示例4: factory
/**
* Simple factory method for creating services.
*
* @param Client $client The HTTP client object
* @param string $class The class name of the service
* @param array $options The options.
* @return \OpenCloud\Common\Service\ServiceInterface
* @throws ServiceException
*/
public static function factory(ClientInterface $client, $class, array $options = array())
{
$name = isset($options['name']) ? $options['name'] : null;
$urlType = isset($options['urlType']) ? $options['urlType'] : null;
if (isset($options['region'])) {
$region = $options['region'];
} elseif ($client->getUser() && ($defaultRegion = $client->getUser()->getDefaultRegion())) {
$region = $defaultRegion;
} else {
$region = null;
}
return new $class($client, null, $name, $region, $urlType);
}
开发者ID:samj1912,项目名称:repo,代码行数:22,代码来源:ServiceBuilder.php
示例5: __construct
public function __construct(ClientInterface $client = null)
{
$this->client = $client;
if (!$this->client) {
$this->client = new Client();
$this->client->getEventDispatcher()->addListener('request.error', function (Event $event) {
// override guzzle default behavior of throwing exceptions
// when 4xx & 5xx responses are encountered
$event->stopPropagation();
}, -254);
$this->client->addSubscriber(BackoffPlugin::getExponentialBackoff(5, array(500, 502, 503, 408)));
}
}
开发者ID:aztech-dev,项目名称:Zippy,代码行数:13,代码来源:LegacyGuzzleReaderFactory.php
示例6: load
/**
* {@inheritdoc}
*/
public function load(ClassMetadata $metadata, ParserInterface $parser)
{
// Create a request with basic Auth
$request = $this->client->get('repos/' . $this->owner . '/' . $this->repository . '/contents');
try {
// Send the request and get the response.
$response = $request->send();
} catch (ClientErrorResponseException $e) {
$this->handleBadResponseExceptions($e);
}
$files = $response->json();
$batch = array();
foreach ($files as $file) {
$batch[] = $this->client->get('repos/' . $this->owner . '/' . $this->repository . '/contents/' . $file['path']);
}
try {
$responses = $this->client->send($batch);
} catch (MultiTransferException $e) {
$this->handleBadResponseExceptions($e->getFirst());
}
$content = array();
foreach ($responses as $response) {
$file = $response->json();
$decodedContent = base64_decode($file['content']);
$content[] = $parser->parse($metadata, $file['name'], $decodedContent);
}
return $content;
}
开发者ID:fabricius,项目名称:fabricius,代码行数:31,代码来源:GithubLoader.php
示例7: loadWsdl
/**
* Load remote WSDL to local cache.
*
* @param string $url
* @return string
*/
public function loadWsdl($url)
{
$response = $this->guzzleClient->get($url)->send();
$cacheFilePath = $this->getCachedWsdlPath($url);
$this->fs->dumpFile($cacheFilePath, $response->getBody(true));
return $cacheFilePath;
}
开发者ID:antrampa,项目名称:crm,代码行数:13,代码来源:WsdlManager.php
示例8: post
/**
* {@inheritdoc}
*/
public function post($url, array $headers = array(), $content = '')
{
$headers['content-type'] = 'application/json';
$request = $this->client->post($url, $headers, $content);
$this->response = $request->send();
return $this->response->getBody(true);
}
开发者ID:BAY-A,项目名称:Gravity-Forms-DigitalOcean,代码行数:10,代码来源:GuzzleAdapter.php
示例9: load
/**
* {@inheritdoc}
*/
public function load(ClassMetadata $metadata, ParserInterface $parser)
{
// Create a request with basic Auth
$request = $this->client->get('metadata/dropbox/' . $this->path);
try {
// Send the request and get the response.
$response = $request->send();
} catch (ClientErrorResponseException $e) {
$this->handleBadResponseExceptions($e);
}
$responseBody = $response->json();
$batch = array();
foreach ($responseBody['contents'] as $file) {
$batch[] = $this->client->get('https://api-content.dropbox.com/1/files/dropbox' . $file['path']);
}
try {
$responses = $this->client->send($batch);
} catch (MultiTransferException $e) {
$this->handleBadResponseExceptions($e->getFirst());
}
$content = array();
foreach ($responses as $response) {
$url = parse_url($response->getEffectiveUrl());
$filename = basename($url['path']);
$receivedContent = $response->getBody(true);
$content[] = $parser->parse($metadata, $filename, $receivedContent);
}
return $content;
}
开发者ID:fabricius,项目名称:fabricius,代码行数:32,代码来源:DropboxLoader.php
示例10: handleRequest
/**
* Sends the request to given URL and returns JSON response.
*
* @param string
* @return void
*/
public function handleRequest($url)
{
$request = $this->client->get($url);
$json = ['success' => TRUE, 'error' => NULL, 'body' => NULL];
$this->enableCrossDomainRequests();
try {
$result = $request->send(TRUE);
} catch (CurlException $e) {
$json['success'] = FALSE;
$json['error'] = sprintf("Unable to handle request: CURL failed with message '%s'.", $e->getError());
switch ($e->getErrorNo()) {
case CURLE_COULDNT_RESOLVE_HOST:
http_response_code(404);
break;
default:
http_response_code(400);
break;
}
}
if (isset($result)) {
$json['body'] = $result->getBody(TRUE);
}
header('Content-Type: application/json');
echo json_encode($json);
}
开发者ID:htmldriven,项目名称:cors-proxy,代码行数:31,代码来源:RequestHandler.php
示例11: getMessage
/**
* {@inheritdoc}
*/
public function getMessage($id)
{
try {
return $this->guzzle->get('/messages/' . $id . '.json')->send()->json();
} catch (GuzzleException $e) {
throw new ConnectionException("", 0, $e);
}
}
开发者ID:kibao,项目名称:mailcatcher,代码行数:11,代码来源:GuzzleConnection.php
示例12: put
/**
* {@inheritdoc}
*/
public function put($url, array $headers = array(), array $content = array(), array $files = array())
{
$request = $this->client->put($url, $headers, $content);
foreach ($files as $key => $file) {
$request->addPostFile($key, $file);
}
return $this->sendRequest($request);
}
开发者ID:widop,项目名称:http-adapter,代码行数:11,代码来源:GuzzleHttpAdapter.php
示例13: loadWsdl
/**
* Load remote WSDL to local cache.
*
* @param string $url
* @return string
*/
public function loadWsdl($url)
{
$clientOptions = ['verify' => empty($this->bundleConfig['sync_settings']['skip_ssl_verification'])];
$response = $this->guzzleClient->get($url, null, $clientOptions)->send();
$cacheFilePath = $this->getCachedWsdlPath($url);
$this->fs->dumpFile($cacheFilePath, $response->getBody(true));
return $cacheFilePath;
}
开发者ID:heoffice,项目名称:crm,代码行数:14,代码来源:WsdlManager.php
示例14: track
public function track($trackingNumber)
{
try {
$response = $this->httpClient->post($this->url, array(), array('API' => 'TrackV2', 'XML' => $this->createTrackRequestXml($trackingNumber)))->send();
} catch (HttpException $e) {
throw Exception::createFromHttpException($e);
}
return $this->parseTrackResponse($response->getBody(true), $trackingNumber);
}
开发者ID:hautelook,项目名称:shipment-tracking,代码行数:9,代码来源:UspsProvider.php
示例15: track
public function track($trackingNumber)
{
try {
$response = $this->httpClient->get($this->url, array(), array('query' => array('RQXML' => $this->createRequestXml($trackingNumber))))->send();
} catch (HttpException $e) {
throw Exception::createFromHttpException($e);
}
return $this->parse($response->getBody(true));
}
开发者ID:hautelook,项目名称:shipment-tracking,代码行数:9,代码来源:LandmarkProvider.php
示例16: send
/**
* @param string $endpoint
* @param string $content
* @param array $headers
* @param array $files
*
* @return Response
*/
public function send($endpoint, $content, array $headers = array(), array $files = array())
{
$request = $this->client->createRequest(RequestInterface::POST, $endpoint, $headers, $content, array('exceptions' => false));
if ($files && $request instanceof EntityEnclosingRequestInterface) {
$request->addPostFiles($files);
}
$response = $request->send();
return new Response($response->getStatusCode(), $response->getBody(true));
}
开发者ID:andorpandor,项目名称:git-deploy.eu2.frbit.com-yr-prototype,代码行数:17,代码来源:Guzzle.php
示例17: getByAccessToken
/**
* @param string $access_token
* @return User
*/
public function getByAccessToken($access_token)
{
$me = $this->http->get('https://graph.facebook.com/me?access_token=' . $access_token)->send()->json();
$data = $this->data_provider->findUserByFacebookId($me['id']);
$user = null;
if ($data != null) {
$user = $this->createUser($data);
}
return $user;
}
开发者ID:shina,项目名称:control-my-budget,代码行数:14,代码来源:UserService.php
示例18: call
public function call($wrappedClass, $method, array $params = array())
{
$request = $this->client->post(sprintf('/%s/%s', str_replace('\\', '/', $wrappedClass), $method), $params);
$auth = $this->getAuthConfig($this->auth);
if ($auth) {
$request->setAuth($auth['login'], $auth['pass'], $auth['type']);
}
$response = $request->send();
return $response->getBody();
}
开发者ID:evaneos,项目名称:dic-it,代码行数:10,代码来源:RestAdapter.php
示例19: track
public function track($trackingNumber)
{
$body = $this->createAuthenticationXml() . $this->createTrackXml($trackingNumber);
try {
$response = $this->httpClient->post($this->url, array(), $body)->send();
} catch (HttpException $e) {
throw Exception::createFromHttpException($e);
}
return $this->parse($response->getBody(true));
}
开发者ID:adrienbrault,项目名称:shipment-tracking,代码行数:10,代码来源:UpsProvider.php
示例20: createHttpRequest
/**
*
* @param \Wehup\AMI\Request\RequestInterface $request
* @return \Guzzle\Http\Message\Response
*/
protected function createHttpRequest(Request\RequestInterface $request)
{
$httpRequest = $this->httpClient->get('rawman');
$httpRequest->addCookie('mansession_id', $this->cookie);
foreach ($request->getParams() as $key => $value) {
$httpRequest->getQuery()->set($key, $value);
}
$httpRequest->getQuery()->set('Action', $request->getAction());
return $httpRequest;
}
开发者ID:wehup,项目名称:asterisk-ami,代码行数:15,代码来源:Manager.php
注:本文中的Guzzle\Http\ClientInterface类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论