Update to Drupal 8.0.0-beta15. For more information, see: https://www.drupal.org/node/2563023
This commit is contained in:
parent
2720a9ec4b
commit
f3791f1da3
1898 changed files with 54300 additions and 11481 deletions
11
core/vendor/guzzlehttp/promises/.gitignore
vendored
Normal file
11
core/vendor/guzzlehttp/promises/.gitignore
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
phpunit.xml
|
||||
composer.phar
|
||||
composer.lock
|
||||
composer-test.lock
|
||||
vendor/
|
||||
build/artifacts/
|
||||
artifacts/
|
||||
docs/_build
|
||||
docs/*.pyc
|
||||
.idea
|
||||
.DS_STORE
|
4
core/vendor/guzzlehttp/promises/CHANGELOG.md
vendored
4
core/vendor/guzzlehttp/promises/CHANGELOG.md
vendored
|
@ -1,5 +1,9 @@
|
|||
# CHANGELOG
|
||||
|
||||
## 1.0.2 - 2015-05-15
|
||||
|
||||
* Conditionally require functions.php.
|
||||
|
||||
## 1.0.1 - 2015-06-24
|
||||
|
||||
* Updating EachPromise to call next on the underlying promise iterator as late
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
"psr-4": {
|
||||
"GuzzleHttp\\Promise\\": "src/"
|
||||
},
|
||||
"files": ["src/functions.php"]
|
||||
"files": ["src/functions_include.php"]
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
<?php
|
||||
namespace GuzzleHttp\Promise;
|
||||
|
||||
// Don't redefine the functions if included multiple times.
|
||||
if (function_exists('GuzzleHttp\Promise\promise_for')) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the global task queue used for promise resolution.
|
||||
*
|
||||
|
|
6
core/vendor/guzzlehttp/promises/src/functions_include.php
vendored
Normal file
6
core/vendor/guzzlehttp/promises/src/functions_include.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
// Don't redefine the functions if included multiple times.
|
||||
if (!function_exists('GuzzleHttp\Promise\promise_for')) {
|
||||
require __DIR__ . '/functions.php';
|
||||
}
|
11
core/vendor/guzzlehttp/psr7/.gitignore
vendored
Normal file
11
core/vendor/guzzlehttp/psr7/.gitignore
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
phpunit.xml
|
||||
composer.phar
|
||||
composer.lock
|
||||
composer-test.lock
|
||||
vendor/
|
||||
build/artifacts/
|
||||
artifacts/
|
||||
docs/_build
|
||||
docs/*.pyc
|
||||
.idea
|
||||
.DS_STORE
|
9
core/vendor/guzzlehttp/psr7/CHANGELOG.md
vendored
9
core/vendor/guzzlehttp/psr7/CHANGELOG.md
vendored
|
@ -1,5 +1,14 @@
|
|||
# CHANGELOG
|
||||
|
||||
## 1.2.0 - 2015-08-15
|
||||
|
||||
* Body as `"0"` is now properly added to a response.
|
||||
* Now allowing forward seeking in CachingStream.
|
||||
* Now properly parsing HTTP requests that contain proxy targets in
|
||||
`parse_request`.
|
||||
* functions.php is now conditionally required.
|
||||
* user-info is no longer dropped when resolving URIs.
|
||||
|
||||
## 1.1.0 - 2015-06-24
|
||||
|
||||
* URIs can now be relative.
|
||||
|
|
2
core/vendor/guzzlehttp/psr7/composer.json
vendored
2
core/vendor/guzzlehttp/psr7/composer.json
vendored
|
@ -25,7 +25,7 @@
|
|||
"psr-4": {
|
||||
"GuzzleHttp\\Psr7\\": "src/"
|
||||
},
|
||||
"files": ["src/functions.php"]
|
||||
"files": ["src/functions_include.php"]
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
|
|
|
@ -41,30 +41,33 @@ class CachingStream implements StreamInterface
|
|||
$this->seek(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
* @throws \RuntimeException When seeking with SEEK_END or when seeking
|
||||
* past the total size of the buffer stream
|
||||
*/
|
||||
public function seek($offset, $whence = SEEK_SET)
|
||||
{
|
||||
if ($whence == SEEK_SET) {
|
||||
$byte = $offset;
|
||||
} elseif ($whence == SEEK_CUR) {
|
||||
$byte = $offset + $this->tell();
|
||||
} elseif ($whence == SEEK_END) {
|
||||
$size = $this->remoteStream->getSize();
|
||||
if ($size === null) {
|
||||
$size = $this->cacheEntireStream();
|
||||
}
|
||||
// Because 0 is the first byte, we seek to size - 1.
|
||||
$byte = $size - 1 - $offset;
|
||||
} else {
|
||||
throw new \RuntimeException('CachingStream::seek() supports SEEK_SET and SEEK_CUR');
|
||||
throw new \InvalidArgumentException('Invalid whence');
|
||||
}
|
||||
|
||||
// You cannot skip ahead past where you've read from the remote stream
|
||||
if ($byte > $this->stream->getSize()) {
|
||||
throw new \RuntimeException(
|
||||
sprintf('Cannot seek to byte %d when the buffered stream only'
|
||||
. ' contains %d bytes', $byte, $this->stream->getSize())
|
||||
);
|
||||
}
|
||||
$diff = $byte - $this->stream->getSize();
|
||||
|
||||
$this->stream->seek($byte);
|
||||
if ($diff > 0) {
|
||||
// If the seek byte is greater the number of read bytes, then read
|
||||
// the difference of bytes to cache the bytes and inherently seek.
|
||||
$this->read($diff);
|
||||
} else {
|
||||
// We can just do a normal seek since we've already seen this byte.
|
||||
$this->stream->seek($byte);
|
||||
}
|
||||
}
|
||||
|
||||
public function read($length)
|
||||
|
@ -122,4 +125,12 @@ class CachingStream implements StreamInterface
|
|||
{
|
||||
$this->remoteStream->close() && $this->stream->close();
|
||||
}
|
||||
|
||||
private function cacheEntireStream()
|
||||
{
|
||||
$target = new FnStream(['write' => 'strlen']);
|
||||
copy_to_stream($this, $target);
|
||||
|
||||
return $this->tell();
|
||||
}
|
||||
}
|
||||
|
|
2
core/vendor/guzzlehttp/psr7/src/Response.php
vendored
2
core/vendor/guzzlehttp/psr7/src/Response.php
vendored
|
@ -93,7 +93,7 @@ class Response implements ResponseInterface
|
|||
) {
|
||||
$this->statusCode = (int) $status;
|
||||
|
||||
if ($body) {
|
||||
if ($body !== null) {
|
||||
$this->stream = stream_for($body);
|
||||
}
|
||||
|
||||
|
|
63
core/vendor/guzzlehttp/psr7/src/Uri.php
vendored
63
core/vendor/guzzlehttp/psr7/src/Uri.php
vendored
|
@ -123,44 +123,33 @@ class Uri implements UriInterface
|
|||
return $base;
|
||||
}
|
||||
|
||||
if ($rel instanceof UriInterface) {
|
||||
$relParts = [
|
||||
'scheme' => $rel->getScheme(),
|
||||
'host' => $rel->getHost(),
|
||||
'port' => $rel->getPort(),
|
||||
'path' => $rel->getPath(),
|
||||
'query' => $rel->getQuery(),
|
||||
'fragment' => $rel->getFragment()
|
||||
];
|
||||
} else {
|
||||
$relParts = parse_url($rel) + [
|
||||
'scheme' => '',
|
||||
'host' => '',
|
||||
'port' => '',
|
||||
'path' => '',
|
||||
'query' => '',
|
||||
'fragment' => ''
|
||||
];
|
||||
if (!($rel instanceof UriInterface)) {
|
||||
$rel = new self($rel);
|
||||
}
|
||||
|
||||
if (!empty($relParts['scheme']) && !empty($relParts['host'])) {
|
||||
return $rel instanceof UriInterface
|
||||
? $rel
|
||||
: self::fromParts($relParts);
|
||||
// Return the relative uri as-is if it has a scheme.
|
||||
if ($rel->getScheme()) {
|
||||
return $rel->withPath(static::removeDotSegments($rel->getPath()));
|
||||
}
|
||||
|
||||
$parts = [
|
||||
'scheme' => $base->getScheme(),
|
||||
'host' => $base->getHost(),
|
||||
'port' => $base->getPort(),
|
||||
'path' => $base->getPath(),
|
||||
'query' => $base->getQuery(),
|
||||
'fragment' => $base->getFragment()
|
||||
$relParts = [
|
||||
'scheme' => $rel->getScheme(),
|
||||
'authority' => $rel->getAuthority(),
|
||||
'path' => $rel->getPath(),
|
||||
'query' => $rel->getQuery(),
|
||||
'fragment' => $rel->getFragment()
|
||||
];
|
||||
|
||||
if (!empty($relParts['host'])) {
|
||||
$parts['host'] = $relParts['host'];
|
||||
$parts['port'] = $relParts['port'];
|
||||
$parts = [
|
||||
'scheme' => $base->getScheme(),
|
||||
'authority' => $base->getAuthority(),
|
||||
'path' => $base->getPath(),
|
||||
'query' => $base->getQuery(),
|
||||
'fragment' => $base->getFragment()
|
||||
];
|
||||
|
||||
if (!empty($relParts['authority'])) {
|
||||
$parts['authority'] = $relParts['authority'];
|
||||
$parts['path'] = self::removeDotSegments($relParts['path']);
|
||||
$parts['query'] = $relParts['query'];
|
||||
$parts['fragment'] = $relParts['fragment'];
|
||||
|
@ -170,7 +159,7 @@ class Uri implements UriInterface
|
|||
$parts['query'] = $relParts['query'];
|
||||
$parts['fragment'] = $relParts['fragment'];
|
||||
} else {
|
||||
if (!empty($parts['host']) && empty($parts['path'])) {
|
||||
if (!empty($parts['authority']) && empty($parts['path'])) {
|
||||
$mergedPath = '/';
|
||||
} else {
|
||||
$mergedPath = substr($parts['path'], 0, strrpos($parts['path'], '/') + 1);
|
||||
|
@ -185,7 +174,13 @@ class Uri implements UriInterface
|
|||
$parts['fragment'] = $relParts['fragment'];
|
||||
}
|
||||
|
||||
return static::fromParts($parts);
|
||||
return new self(static::createUriString(
|
||||
$parts['scheme'],
|
||||
$parts['authority'],
|
||||
$parts['path'],
|
||||
$parts['query'],
|
||||
$parts['fragment']
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -440,19 +440,22 @@ function readline(StreamInterface $stream, $maxLength = null)
|
|||
function parse_request($message)
|
||||
{
|
||||
$data = _parse_message($message);
|
||||
if (!preg_match('/^[a-zA-Z]+\s+\/.*/', $data['start-line'])) {
|
||||
$matches = [];
|
||||
if (!preg_match('/^[a-zA-Z]+\s+([a-zA-Z]+:\/\/|\/).*/', $data['start-line'], $matches)) {
|
||||
throw new \InvalidArgumentException('Invalid request string');
|
||||
}
|
||||
$parts = explode(' ', $data['start-line'], 3);
|
||||
$version = isset($parts[2]) ? explode('/', $parts[2])[1] : '1.1';
|
||||
|
||||
return new Request(
|
||||
$request = new Request(
|
||||
$parts[0],
|
||||
_parse_request_uri($parts[1], $data['headers']),
|
||||
$matches[1] === '/' ? _parse_request_uri($parts[1], $data['headers']) : $parts[1],
|
||||
$data['headers'],
|
||||
$data['body'],
|
||||
$version
|
||||
);
|
||||
|
||||
return $matches[1] === '/' ? $request : $request->withRequestTarget($parts[1]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
6
core/vendor/guzzlehttp/psr7/src/functions_include.php
vendored
Normal file
6
core/vendor/guzzlehttp/psr7/src/functions_include.php
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
// Don't redefine the functions if included multiple times.
|
||||
if (!function_exists('GuzzleHttp\Psr7\str')) {
|
||||
require __DIR__ . '/functions.php';
|
||||
}
|
|
@ -32,22 +32,43 @@ class CachingStreamTest extends \PHPUnit_Framework_TestCase
|
|||
$this->assertEquals(4, $caching->getSize());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \RuntimeException
|
||||
* @expectedExceptionMessage Cannot seek to byte 10
|
||||
*/
|
||||
public function testCannotSeekPastWhatHasBeenRead()
|
||||
public function testReadsUntilCachedToByte()
|
||||
{
|
||||
$this->body->seek(10);
|
||||
$this->body->seek(5);
|
||||
$this->assertEquals('n', $this->body->read(1));
|
||||
$this->body->seek(0);
|
||||
$this->assertEquals('t', $this->body->read(1));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \RuntimeException
|
||||
* @expectedExceptionMessage CachingStream::seek() supports SEEK_SET and SEEK_CUR
|
||||
*/
|
||||
public function testCannotUseSeekEnd()
|
||||
public function testCanSeekNearEndWithSeekEnd()
|
||||
{
|
||||
$this->body->seek(2, SEEK_END);
|
||||
$baseStream = Psr7\stream_for(implode('', range('a', 'z')));
|
||||
$cached = new CachingStream($baseStream);
|
||||
$cached->seek(1, SEEK_END);
|
||||
$this->assertEquals(24, $baseStream->tell());
|
||||
$this->assertEquals('y', $cached->read(1));
|
||||
$this->assertEquals(26, $cached->getSize());
|
||||
}
|
||||
|
||||
public function testCanSeekToEndWithSeekEnd()
|
||||
{
|
||||
$baseStream = Psr7\stream_for(implode('', range('a', 'z')));
|
||||
$cached = new CachingStream($baseStream);
|
||||
$cached->seek(0, SEEK_END);
|
||||
$this->assertEquals(25, $baseStream->tell());
|
||||
$this->assertEquals('z', $cached->read(1));
|
||||
$this->assertEquals(26, $cached->getSize());
|
||||
}
|
||||
|
||||
public function testCanUseSeekEndWithUnknownSize()
|
||||
{
|
||||
$baseStream = Psr7\stream_for('testing');
|
||||
$decorated = Psr7\FnStream::decorate($baseStream, [
|
||||
'getSize' => function () { return null; }
|
||||
]);
|
||||
$cached = new CachingStream($decorated);
|
||||
$cached->seek(1, SEEK_END);
|
||||
$this->assertEquals('ng', $cached->read(2));
|
||||
}
|
||||
|
||||
public function testRewindUsesSeek()
|
||||
|
@ -134,4 +155,12 @@ class CachingStreamTest extends \PHPUnit_Framework_TestCase
|
|||
$d->close();
|
||||
$this->assertFalse(is_resource($s));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
public function testEnsuresValidWhence()
|
||||
{
|
||||
$this->body->seek(10, -123456);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -270,6 +270,18 @@ class FunctionsTest extends \PHPUnit_Framework_TestCase
|
|||
$this->assertEquals('http://foo.com/', (string) $request->getUri());
|
||||
}
|
||||
|
||||
public function testParsesRequestMessagesWithFullUri()
|
||||
{
|
||||
$req = "GET https://www.google.com:443/search?q=foobar HTTP/1.1\r\nHost: www.google.com\r\n\r\n";
|
||||
$request = Psr7\parse_request($req);
|
||||
$this->assertEquals('GET', $request->getMethod());
|
||||
$this->assertEquals('https://www.google.com:443/search?q=foobar', $request->getRequestTarget());
|
||||
$this->assertEquals('1.1', $request->getProtocolVersion());
|
||||
$this->assertEquals('www.google.com', $request->getHeaderLine('Host'));
|
||||
$this->assertEquals('', (string) $request->getBody());
|
||||
$this->assertEquals('https://www.google.com/search?q=foobar', (string) $request->getUri());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
|
|
|
@ -136,4 +136,11 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
|
|||
$this->assertNotSame($r, $r2);
|
||||
$this->assertEquals('Bam', $r2->getHeaderLine('Foo'));
|
||||
}
|
||||
|
||||
public function testBodyConsistent()
|
||||
{
|
||||
$r = new Response(200, [], '0');
|
||||
$this->assertEquals('0', (string)$r->getBody());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -152,6 +152,8 @@ class UriTest extends \PHPUnit_Framework_TestCase
|
|||
[self::RFC3986_BASE, 'g/../h', 'http://a/b/c/h'],
|
||||
[self::RFC3986_BASE, 'g;x=1/./y', 'http://a/b/c/g;x=1/y'],
|
||||
[self::RFC3986_BASE, 'g;x=1/../y', 'http://a/b/c/y'],
|
||||
['http://u@a/b/c/d;p?q', '.', 'http://u@a/b/c/'],
|
||||
['http://u:p@a/b/c/d;p?q', '.', 'http://u:p@a/b/c/'],
|
||||
//[self::RFC3986_BASE, 'http:g', 'http:g'],
|
||||
];
|
||||
}
|
||||
|
|
Reference in a new issue