コード例 #1
0
 public function pharAction()
 {
     $client = $this->serviceLocator->get('zendServerClient');
     $client = new Client();
     if (defined('PHAR')) {
         // the file from which the application was started is the phar file to replace
         $file = $_SERVER['SCRIPT_FILENAME'];
     } else {
         $file = dirname($_SERVER['SCRIPT_FILENAME']) . '/zs-client.phar';
     }
     $request = new Request();
     $request->setMethod(Request::METHOD_GET);
     $request->setHeaders(Headers::fromString('If-Modified-Since: ' . gmdate('D, d M Y H:i:s T', filemtime($file))));
     $request->setUri('https://github.com/zendtech/ZendServerSDK/raw/master/bin/zs-client.phar');
     //$client->getAdapter()->setOptions(array('sslcapath' => __DIR__.'/../../../certs/'));
     $client->setAdapter(new Curl());
     $response = $client->send($request);
     if ($response->getStatusCode() == 304) {
         return 'Already up-to-date.';
     } else {
         ErrorHandler::start();
         rename($file, $file . '.' . date('YmdHi') . '.backup');
         $handler = fopen($file, 'w');
         fwrite($handler, $response->getBody());
         fclose($handler);
         ErrorHandler::stop(true);
         return 'The phar file was updated successfully.';
     }
 }
コード例 #2
0
 /**
  * Return the header container responsible for headers
  *
  * @return Headers
  */
 public function getHeaders()
 {
     if ($this->headers === null || is_string($this->headers)) {
         // this is only here for fromString lazy loading
         $this->headers = is_string($this->headers) ? Headers::fromString($this->headers) : new Headers();
     }
     return $this->headers;
 }
コード例 #3
0
ファイル: ErrorTest.php プロジェクト: magium/MagiumMail
 public function testWrongContentTypeThrowsInvalidResponseException()
 {
     $this->setExpectedException('Magium\\Mail\\Api\\InvalidResponseException');
     $builder = $this->getMockBuilder('Zend\\Http\\Client')->setMethods(['send']);
     $client = $builder->getMock();
     /* @var $client \Zend\Http\Client */
     $response = new Response();
     $response->setContent(json_encode(['error' => 'error message']));
     $response->setHeaders(Headers::fromString('Content-Type: wrong'));
     $client->expects($this->once())->method('send')->willReturn($response);
     $generator = new Generator(new Configuration(), $client, 'abcd');
     $generator->generate();
 }
コード例 #4
0
ファイル: HeadersTest.php プロジェクト: JojoBombardo/zf2
 public function testHeadersFromStringFactoryCreatesMultipleObjects()
 {
     $headers = Headers::fromString("Fake: foo-bar\r\nAnother-Fake: boo-baz");
     $this->assertEquals(2, $headers->count());
     $header = $headers->get('fake');
     $this->assertInstanceOf('Zend\\Http\\Header\\GenericHeader', $header);
     $this->assertEquals('Fake', $header->getFieldName());
     $this->assertEquals('foo-bar', $header->getFieldValue());
     $header = $headers->get('anotherfake');
     $this->assertInstanceOf('Zend\\Http\\Header\\GenericHeader', $header);
     $this->assertEquals('Another-Fake', $header->getFieldName());
     $this->assertEquals('boo-baz', $header->getFieldValue());
 }
コード例 #5
0
 public function testFromHeaderMethod()
 {
     $headers = "X-Test-Header-1: Header1Value\r\n" . "X-Test-Header-2: Header2Value\r\n";
     $r = new Request();
     $r->setHeaders(\Zend\Http\Headers::fromString($headers));
     $e = new MvcEvent();
     $e->setRequest($r);
     $helper = new Helper($e);
     $header = $helper->fromHeader('X-Test-Header-1');
     $this->assertInstanceOf('\\Zend\\Http\\Header\\GenericHeader', $header);
     $this->assertEquals('Header1Value', $header->getFieldValue());
     $expect = array('X-Test-Header-1' => 'Header1Value', 'X-Test-Header-2' => 'Header2Value');
     $this->assertEquals($expect, $helper->fromHeader());
     $this->assertEquals('default', $helper->fromHeader('X-Not-Here', 'default'));
 }
コード例 #6
0
ファイル: SuccessTest.php プロジェクト: magium/MagiumMail
 public function testUrlIsRight()
 {
     $builder = $this->getMockBuilder('Zend\\Http\\Client')->setMethods(['send']);
     $client = $builder->getMock();
     /* @var $client \Zend\Http\Client */
     $response = new Response();
     $response->setContent(json_encode(['email' => '*****@*****.**']));
     $response->setHeaders(Headers::fromString('Content-Type: application/json'));
     $client->expects($this->once())->method('send')->willReturn($response);
     $configuration = new Configuration();
     $generator = new Generator($configuration, $client, 'abcd');
     $email = $generator->generate();
     self::assertEquals('*****@*****.**', $email);
     self::assertEquals($configuration->getApiEndpointUrl(), $client->getUri()->toString());
 }
コード例 #7
0
 /**
  * @runInSeparateProcess
  */
 public function testSendHeadersSendsStatusLast()
 {
     if (!function_exists('xdebug_get_headers')) {
         $this->markTestSkipped('Xdebug extension needed, skipped test');
     }
     $mockResponse = $this->getMock('Zend\\Http\\Response');
     $mockResponse->expects($this->once())->method('getHeaders')->will($this->returnValue(Headers::fromString('Location: example.com')));
     $mockResponse->expects($this->once())->method('renderStatusLine')->will($this->returnValue('X-Test: HTTP/1.1 202 Accepted'));
     $mockSendResponseEvent = $this->getMock('Zend\\Mvc\\ResponseSender\\SendResponseEvent', array('getResponse'));
     $mockSendResponseEvent->expects($this->any())->method('getResponse')->will($this->returnValue($mockResponse));
     $responseSender = $this->getMockForAbstractClass('Zend\\Mvc\\ResponseSender\\AbstractResponseSender');
     $responseSender->sendHeaders($mockSendResponseEvent);
     $sentHeaders = xdebug_get_headers();
     $this->assertCount(2, $sentHeaders);
     $this->assertEquals('Location: example.com', $sentHeaders[0]);
     $this->assertEquals('X-Test: HTTP/1.1 202 Accepted', $sentHeaders[1], 'Status header is sent last to prevent header() from overwriting the ZF status code when a Location header is used');
 }
コード例 #8
0
ファイル: Request.php プロジェクト: eltondias/Relogio
 /**
  * Return the header container responsible for headers or all headers of a certain name/type
  *
  * @see \Zend\Http\Headers::get()
  * @param string|null           $name            Header name to retrieve, or null to get the whole container.
  * @param mixed|null            $default         Default value to use when the requested header is missing.
  * @return \Zend\Http\Headers|bool|\Zend\Http\Header\HeaderInterface|\ArrayIterator
  */
 public function getHeaders($name = null, $default = false)
 {
     if ($this->headers === null || is_string($this->headers)) {
         // this is only here for fromString lazy loading
         $this->headers = is_string($this->headers) ? Headers::fromString($this->headers) : new Headers();
     }
     if ($name === null) {
         return $this->headers;
     }
     if ($this->headers->has($name)) {
         return $this->headers->get($name);
     }
     return $default;
 }
コード例 #9
0
ファイル: Response.php プロジェクト: robertodormepoco/zf2
 /**
  * Get response headers
  *
  * @return Headers
  */
 public function getHeaders()
 {
     if ($this->headers === null || is_string($this->headers)) {
         $this->headers = is_string($this->headers) ? Headers::fromString($this->headers) : new Headers();
     }
     return $this->headers;
 }
コード例 #10
0
 /**
  * Download a processed document
  */
 public function downloadAction()
 {
     $documentId = (int) $this->params()->fromRoute('id');
     $user = $this->identity();
     if (!($document = $this->documentDAO->find($documentId)) or $document->job->user->id != $user->id and !$user->isAdministrator()) {
         $this->getResponse()->setStatusCode(404);
         return;
     }
     $response = $this->getEvent()->getResponse();
     $response->setHeaders(Headers::fromString("Content-Type: {$document->mimeType}\r\n" . "Content-Length: {$document->size}\r\n" . "Content-Disposition: attachment; filename=\"{$document->getFileName()}\""));
     $response->setContent(file_get_contents($document->path));
     return $response;
 }
コード例 #11
0
ファイル: HeadersTest.php プロジェクト: pnaq57/zf2demo
 public function testZeroIsAValidHeaderValue()
 {
     $headers = Headers::fromString('Fake: 0');
     $this->assertSame('0', $headers->get('Fake')->getFieldValue());
 }
コード例 #12
0
 /**
  * Get headers for caching file and type
  * 
  * @param string $mime File mimetype
  * @return \Zend\Http\Headers
  */
 protected function getHeaders($file, $mime)
 {
     $cache_days = 20;
     $info = new \SplFileInfo($file);
     $filetime = $info->getMTime();
     unset($info);
     $last_modified = date('D, d M Y H:i:s', $filetime) . ' GMT';
     $expires = date('D, d M Y H:i:s', strtotime('+30 days', $filetime)) . ' GMT';
     $hasid = md5($last_modified);
     $headers = "Cache-Control: max-age=" . $cache_days * 24 * 60 * 60 . "\r\n" . "Pragma: private\r\n" . "Last-Modified: " . $last_modified . "\r\n" . "Expires: " . $expires . "\r\n" . "Vary: Accept-Encoding\r\n" . "Etag: " . $hasid . "\r\n" . "Content-Type: " . $mime . "\r\n";
     return Headers::fromString($headers);
 }