Edit report at http://bugs.php.net/bug.php?id=52926&edit=1
ID: 52926
Comment by: simast at gmail dot com
Reported by: simast at gmail dot com
Summary: stream_context_set_default() does not work as
intended with stream chaining
Status: Analyzed
Type: Bug
Package: Zlib Related
Operating System: Windows
PHP Version: 5.3.3
Block user comment: N
New Comment:
That was quick! I imagine this patch will fix the following code as
well?
file_get_contents(
'compress.zlib://http://example.com',
false,
stream_context_create(array('http' => ...))
);
Thanks!
Previous Comments:
------------------------------------------------------------------------
[2010-09-26 21:49:12] [email protected]
The following patch has been added/updated:
Patch Name: zlib_inner_open
Revision: 1285530552
URL:
http://bugs.php.net/patch-display.php?bug=52926&patch=zlib_inner_open&revision=1285530552
------------------------------------------------------------------------
[2010-09-26 21:48:49] [email protected]
Fixed in attached patch.
The problem is php_stream_gzopen doesn't forward the context when
opening the inner stream; this isn't limited to default contexts.
------------------------------------------------------------------------
[2010-09-26 15:07:20] simast at gmail dot com
Description:
------------
Hello!
I was trying to add gzip/deflate support to standard HTTP streams (code
attached).
It seems stream_context_set_default() works fine as long as stream
wrappers are
not chained, like when used with "compress.zlib://" it will not use
options as set
with this function and will revert to php default ones.
Simas
Test script:
---------------
stream_context_set_default(array(
'http' => array(
'protocol_version' => 1.1, // HTTP 1.1 compatible
'header' => array(
'Connection: close', // No Keep-Alive
'Accept-Encoding: gzip, deflate' // We support content
compression
)
)
));
file_get_contents('compress.zlib://http://example.com');
Expected result:
----------------
Default stream options should be used for chained streams as well.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=52926&edit=1