当前位置: 首页>>代码示例>>PHP>>正文


PHP Stream\Stream类代码示例

本文整理汇总了PHP中GuzzleHttp\Stream\Stream的典型用法代码示例。如果您正苦于以下问题:PHP Stream类的具体用法?PHP Stream怎么用?PHP Stream使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Stream类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: createResponse

 /**
  * Create new response.
  *
  * @param int $statusCode Response status code.
  * @param array $headers Response headers.
  * @param mixed $body Response body.
  * @param array $options Options.
  *
  * @return Response
  */
 public function createResponse($statusCode, array $headers = array(), $body = null, array $options = array())
 {
     if (null !== $body) {
         $body = Stream::factory($body);
     }
     return new Response($statusCode, $headers, $body, $options);
 }
开发者ID:dinastyoffreedom,项目名称:uphold-sdk-php,代码行数:17,代码来源:MessageFactory.php

示例2: buildResponse

function buildResponse($code, array $headers = [], $body = null)
{
    if (class_exists('GuzzleHttp\\HandlerStack')) {
        return new \GuzzleHttp\Psr7\Response($code, $headers, $body);
    }
    return new \GuzzleHttp\Message\Response($code, $headers, \GuzzleHttp\Stream\Stream::factory((string) $body));
}
开发者ID:andytan2624,项目名称:andytan.net,代码行数:7,代码来源:bootstrap.php

示例3: request

 /**
  * {@inheritdoc}
  */
 public function request(RequestInterface $request)
 {
     $url = (string) $request->getUri();
     $body = $request->getBody();
     $body->seek(0);
     $headers = $request->getHeaders();
     $headers['Accept'] = 'application/json';
     $headers['Content-Type'] = 'application/json';
     $req = $this->guzzle->createRequest($request->getMethod(), $url);
     $req->setHeaders($headers);
     $req->setBody(GStream::factory($body->getContents()));
     try {
         $res = $this->guzzle->send($req);
     } catch (RequestException $e) {
         // Guzzle will throw exceptions for 4xx and 5xx responses, so we catch
         // them here and quietly get the response object.
         $res = $e->getResponse();
         if (!$res) {
             throw $e;
         }
     }
     $response = (new Response(new Stream('php://memory', 'w')))->withStatus($res->getStatusCode(), $res->getReasonPhrase());
     $response->getBody()->write((string) $res->getBody());
     return $response;
 }
开发者ID:AnnaCaraman,项目名称:ding2,代码行数:28,代码来源:FBSGuzzleHttpClient.php

示例4: getClientWithBody

 protected function getClientWithBody($body)
 {
     $client = new Client();
     $mock = new Mock([new Response(200, [], Stream::factory($body))]);
     $client->getEmitter()->attach($mock);
     return $client;
 }
开发者ID:bogdaan,项目名称:distance,代码行数:7,代码来源:HttpProviderTestBase.php

示例5: testCastsToString

 public function testCastsToString()
 {
     $m = new Request('GET', 'http://foo.com');
     $m->setHeader('foo', 'bar');
     $m->setBody(Stream::factory('baz'));
     $this->assertEquals("GET / HTTP/1.1\r\nHost: foo.com\r\nfoo: bar\r\n\r\nbaz", (string) $m);
 }
开发者ID:453111208,项目名称:bbc,代码行数:7,代码来源:AbstractMessageTest.php

示例6: after

 public function after(GuzzleCommandInterface $command, RequestInterface $request, Operation $operation, array $context)
 {
     foreach ($this->buffered as $param) {
         $this->visitWithValue($command[$param->getName()], $param, $command);
     }
     $this->buffered = array();
     $additional = $operation->getAdditionalParameters();
     if ($additional && $additional->getLocation() == $this->locationName) {
         foreach ($command->toArray() as $key => $value) {
             if (!$operation->hasParam($key)) {
                 $additional->setName($key);
                 $this->visitWithValue($value, $additional, $command);
             }
         }
         $additional->setName(null);
     }
     // If data was found that needs to be serialized, then do so
     $xml = null;
     if ($this->writer) {
         $xml = $this->finishDocument($this->writer);
     } elseif ($operation->getData('xmlAllowEmpty')) {
         // Check if XML should always be sent for the command
         $writer = $this->createRootElement($operation);
         $xml = $this->finishDocument($writer);
     }
     if ($xml) {
         $request->setBody(Stream::factory($xml));
         // Don't overwrite the Content-Type if one is set
         if ($this->contentType && !$request->hasHeader('Content-Type')) {
             $request->setHeader('Content-Type', $this->contentType);
         }
     }
     $this->writer = null;
 }
开发者ID:bobozhangshao,项目名称:HeartCare,代码行数:34,代码来源:XmlLocation.php

示例7: testRoomInstallCallbackSuccess

 public function testRoomInstallCallbackSuccess()
 {
     $this->createTestConfig();
     $data = ['oauthId' => '__oauthId__', 'oauthSecret' => '__oauthSecret__', 'groupId' => '34531', 'roomId' => '986531'];
     $authResponse = new Response(200, [], Stream::factory(json_encode(['access_token' => '__authToken__', 'expires_in' => 3600])));
     $httpClientMock = $this->getMock('GuzzleHttp\\Client', ['send']);
     $httpClientMock->expects($this->once())->method('send')->will($this->returnValue($authResponse));
     $clientMock = $this->getMock('Venyii\\HipChatCommander\\Api\\Client', null, ['__clientId__', $this->app['hc.config'], $this->app['hc.api_registry'], $httpClientMock, $this->app['logger']]);
     $this->app['hc.api_client'] = $this->app->protect(function () use($clientMock) {
         return $clientMock;
     });
     $client = $this->createClient();
     $client->request('POST', '/cb/install', [], [], [], json_encode($data));
     $response = $client->getResponse();
     $this->assertLoggerHasRecord('Got authToken "__authToken__"', Logger::DEBUG);
     $this->assertEquals(200, $response->getStatusCode());
     $creds = $this->app['hc.api_registry']->getClient('__oauthId__');
     $installDate = $creds['date'];
     $expiresDate = $creds['credentials']['expires'];
     unset($creds['date']);
     unset($creds['credentials']['expires']);
     $this->assertEquals(['groupId' => 34531, 'roomId' => 986531, 'credentials' => ['oauthId' => '__oauthId__', 'oauthSecret' => '__oauthSecret__', 'authToken' => '__authToken__']], $creds);
     $this->assertInstanceOf('DateTime', $installDate);
     $this->assertInstanceOf('DateTime', $expiresDate);
 }
开发者ID:alcaeus,项目名称:hipchat-commander,代码行数:25,代码来源:CallbackTest.php

示例8: testSuccessfulTranslate

 public function testSuccessfulTranslate()
 {
     $client = new Client();
     $content = Stream::factory('{"access_token":"123"}');
     $mock = new Mock([new Response(200, [], $content), new Response(200, [], Stream::factory($this->xmlResponse))]);
     $client->getEmitter()->attach($mock);
     $translator = new \badams\MicrosoftTranslator\MicrosoftTranslator($client);
     $translator->setClient('client_id', 'client_secret');
     $results = $translator->getTranslationsArray(['Hello', 'World'], 'de', 'en');
     $this->assertTrue(is_array($results));
     $this->assertEquals(2, count($results));
     $this->assertInstanceOf('\\badams\\MicrosoftTranslator\\Responses\\GetTranslationsResponse', $results[0]);
     $this->assertInstanceOf('\\badams\\MicrosoftTranslator\\Language', $results[0]->getFrom());
     $this->assertEquals('en', (string) $results[0]->getFrom());
     $translations = $results[0]->getTranslations();
     $this->assertEquals(2, count($translations));
     $this->assertInstanceOf('\\badams\\MicrosoftTranslator\\Responses\\TranslationMatch', $translations[0]);
     $this->assertEquals('Hallo', $translations[0]->getTranslatedText());
     $this->assertEquals(5, $translations[0]->getRating());
     $this->assertEquals(100, $translations[0]->getMatchDegree());
     $this->assertEquals(null, $translations[0]->getError());
     $this->assertEquals(0, $translations[0]->getCount());
     $this->assertEquals('', $translations[0]->getMatchedOriginalText());
     $this->assertEquals('Hello', $translations[1]->getTranslatedText());
     $this->assertEquals(4, $translations[1]->getRating());
     $this->assertEquals(70, $translations[1]->getMatchDegree());
     $this->assertEquals(null, $translations[1]->getError());
     $this->assertEquals(1, $translations[1]->getCount());
     $this->assertEquals('Hello', $translations[1]->getMatchedOriginalText());
 }
开发者ID:badams,项目名称:microsoft-translator,代码行数:30,代码来源:GetTranslationsArrayTest.php

示例9: testHandlesClose

 public function testHandlesClose()
 {
     $s = Stream::factory('foo');
     $wrapped = new NoSeekStream($s);
     $wrapped->close();
     $this->assertFalse($wrapped->write('foo'));
 }
开发者ID:anthrotech,项目名称:laravel_sample,代码行数:7,代码来源:NoSeekStreamTest.php

示例10: setUp

 public function setUp()
 {
     $this->mock = new Mock([new Response(200, ['Content-Type' => 'javascript'], Stream::factory('{"status":"success"}')), new Response(200, ['Content-Type' => 'javascript'], Stream::factory('{"status":"error"}'))]);
     $this->submail = new Submail('key', 'secret');
     $client = Sender::getHttpClient();
     $client->getEmitter()->attach($this->mock);
 }
开发者ID:skybird,项目名称:EvaSms,代码行数:7,代码来源:SubmailTest.php

示例11: testGetRequestContent

 public function testGetRequestContent()
 {
     $putRequest = new PutRequest();
     $stream = Stream::factory('[1,1,1]');
     $query = $this->getMock('GuzzleHttp\\Query');
     $httpRequest = $this->getMock('GuzzleHttp\\Message\\RequestInterface');
     $httpResponse = $this->getMock('GuzzleHttp\\Message\\ResponseInterface');
     $this->client->expects($this->once())->method('createRequest')->with($this->equalTo('PUT'), $this->equalTo('/types/default/buckets/test_bucket/keys/1'))->willReturn($httpRequest);
     $this->client->expects($this->once())->method('send')->with($this->equalTo($httpRequest))->willReturn($httpResponse);
     $httpRequest->expects($this->once())->method('getQuery')->willReturn($query);
     $httpResponse->expects($this->any())->method('getStatusCode')->willReturn(200);
     $httpResponse->expects($this->once())->method('getBody')->willReturn($stream);
     $httpResponse->expects($this->once())->method('getHeader')->with($this->equalTo('X-Riak-Vclock'))->willReturn('vclock-hash');
     $httpRequest->expects($this->exactly(3))->method('setHeader')->will($this->returnValueMap([['Accept', ['multipart/mixed', '*/*'], $query], ['Content-Type', 'application/json', $query], ['X-Riak-Vclock', 'vclock-hash', $query]]));
     $httpRequest->expects($this->once())->method('setBody')->with($this->equalTo('[1,1,1]'));
     $httpResponse->method('getHeaders')->willReturn(['Content-Type' => 'application/json', 'Last-Modified' => 'Sat, 03 Jan 2015 01:46:34 GMT']);
     $content = new Content();
     $putRequest->bucket = 'test_bucket';
     $putRequest->type = 'default';
     $putRequest->key = '1';
     $putRequest->returnBody = true;
     $putRequest->content = $content;
     $putRequest->vClock = 'vclock-hash';
     $content->contentType = 'application/json';
     $content->value = '[1,1,1]';
     $response = $this->instance->send($putRequest);
     $this->assertInstanceOf('Riak\\Client\\Core\\Message\\Kv\\PutResponse', $response);
     $this->assertEquals('vclock-hash', $response->vClock);
     $this->assertCount(1, $response->contentList);
     $this->assertEquals('[1,1,1]', $response->contentList[0]->value);
     $this->assertEquals(1420249594, $response->contentList[0]->lastModified);
     $this->assertEquals('application/json', $response->contentList[0]->contentType);
 }
开发者ID:php-riak,项目名称:riak-client,代码行数:33,代码来源:HttpPutTest.php

示例12: execute

 /**
  * @inheritdoc
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $platformId = $input->getOption('platform_id');
     /** @var Callable $clientFactory */
     $clientFactory = $this->getContainer()['client_factory'];
     /** @var Client $client */
     $client = $clientFactory($platformId);
     try {
         $request = $client->createRequest($input->getOption('http_verb'), 'api/rest/' . ltrim($input->getArgument('http_resource'), '/'));
         $output->writeln('Sending: ' . $request->getUrl());
         if ($input->getOption('request_content')) {
             if (!is_string($input->getOption('request_type'))) {
                 throw new Exception('request_type (-t) is a required parameter when request_content (-c) is used');
             }
             $body = Stream::factory($input->getOption('request_content'));
             $request->setBody($body);
             $request->setHeader('Content-Type', $this->parseContentType($input->getOption('request_type')));
             $output->writeln('Request body: ' . $body);
         }
         /** @var ResponseInterface $response */
         $response = $client->send($request);
         $output->writeln(json_encode($response->json(), JSON_PRETTY_PRINT));
     } catch (RequestException $e) {
         $output->writeln('Request failed: ' . (string) $e->getResponse()->getBody());
         throw $e;
     } catch (Exception $e) {
         $output->writeln('Invalid request: ' . (string) $e->getMessage());
     }
 }
开发者ID:tomasliubinas,项目名称:magento-rest-test,代码行数:32,代码来源:RequestCommand.php

示例13: sendRequest

 private function sendRequest($uri, $postData = null)
 {
     try {
         $fullUrl = $this->url . '/v3' . $uri;
         // more info: https://curl.haxx.se/docs/caextract.html
         $verify = __DIR__ . '/../../cacert.pem';
         if (!file_exists($verify)) {
             throw new RuntimeException('cacert.pem not found: ' . $verify);
         }
         $headers = array();
         if ($postData) {
             $stream = \GuzzleHttp\Stream\Stream::factory($postData);
             $res = $this->httpClient->post($fullUrl, ['headers' => $headers, 'body' => $stream, 'auth' => [$this->username, $this->password], 'verify' => $verify]);
         } else {
             $res = $this->httpClient->get($fullUrl, ['headers' => $headers, 'auth' => [$this->username, $this->password], 'verify' => $verify]);
         }
         if ($res->getStatusCode() == 200) {
             return (string) $res->getBody();
         }
     } catch (\GuzzleHttp\Exception\RequestException $e) {
         if (!$e->getResponse()) {
             throw new NoResponseException('NO_RESPONSE', 'No response / connection error requesting ' . $fullUrl);
         }
         ErrorResponseHandler::handle($e->getResponse());
     }
 }
开发者ID:perinatologie,项目名称:hub-client-php,代码行数:26,代码来源:HubV3Client.php

示例14: forwardIpn

 /**
  * @param IpnEntity $ipn
  * @return bool
  */
 public function forwardIpn(IpnEntity $ipn)
 {
     $urls = $ipn->getForwardUrls();
     if (!empty($urls)) {
         $requests = [];
         foreach ($urls as $url) {
             $request = $this->guzzle->createRequest('post', $url);
             $request->setHeader($this->customHeader, $this->getKey());
             if (in_array($url, $this->disabledJsonFormatting)) {
                 $request->getQuery()->merge($ipn->toArray());
             } else {
                 $request->setHeader('content-type', 'application/json');
                 if ($this->formatter) {
                     $response = $this->formatter->formatJsonResponse($ipn);
                 } else {
                     $response = ['ipn' => $ipn->toArray()];
                 }
                 $request->setBody(Stream::factory(json_encode($response)));
             }
             $requests[] = $request;
         }
         $this->guzzle->sendAll($requests, ['parallel' => $this->maxRequests]);
         return true;
     }
     return false;
 }
开发者ID:iyoworks,项目名称:ipn-forwarder,代码行数:30,代码来源:Forwarder.php

示例15: sendPostRequest

 /**
  * @param string $url
  * @param mixed[]|null $body
  * @return \SlevomatZboziApi\Response\ZboziApiResponse
  */
 public function sendPostRequest($url, array $body = null)
 {
     TypeValidator::checkString($url);
     $options = ['allow_redirects' => false, 'verify' => true, 'decode_content' => true, 'expect' => false, 'timeout' => $this->timeoutInSeconds];
     $request = $this->client->createRequest('POST', $url, $options);
     $request->setHeaders([static::HEADER_PARTNER_TOKEN => $this->partnerToken, static::HEADER_API_SECRET => $this->apiSecret]);
     if ($body !== null) {
         $request->setBody(\GuzzleHttp\Stream\Stream::factory(json_encode($body)));
     }
     try {
         try {
             $response = $this->client->send($request);
             $this->log($request, $response);
             return $this->getZboziApiResponse($response);
         } catch (\GuzzleHttp\Exception\RequestException $e) {
             $response = $e->getResponse();
             $this->log($request, $response);
             if ($response !== null) {
                 return $this->getZboziApiResponse($response);
             }
             throw new \SlevomatZboziApi\Request\ConnectionErrorException('Connection to Slevomat API failed.', $e->getCode(), $e);
         }
     } catch (\GuzzleHttp\Exception\ParseException $e) {
         $this->log($request, isset($response) ? $response : null, true);
         throw new \SlevomatZboziApi\Response\ResponseErrorException('Slevomat API invalid response: invalid JSON data.', $e->getCode(), $e);
     }
 }
开发者ID:pepakriz,项目名称:zbozi-api-php-library,代码行数:32,代码来源:RequestMaker.php


注:本文中的GuzzleHttp\Stream\Stream类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。