#26440 [Csd]: headers not passed in stream context
| From: | steven at pearavenue dot com | Date: | Fri, 28 Nov 2003 21:49:52 +0000 |
| Subject: | #26440 [Csd]: headers not passed in stream context | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-51255@lists.php.net to get a copy of this message | ||
ID: 26440
User updated by: steven at pearavenue dot com
Reported By: steven at pearavenue dot com
Status: Closed
Bug Type: HTTP related
Operating System: Linux
PHP Version: 4.3.4
Assigned To: pollita
New Comment:
I can confirm that is now behaves as specified in this report, if not
as expected :), in the php4-STABLE-200311282030 build - however, I urge
a review of this behavior.
Formally there is a clear distinction between correct behavior in
response to an "If-Modified-Since" and a failure that results from and
invalid URI.
In addition, stream_get_meta_data( resource ) should be consistent with
$http_response_header. Currently stream_get_meta_data fails if the
resource failed - I suggest that it should report the details of the
stream state - including a failure.
While the pragmatics of having fopen return false for a 304 are good -
I suggest that this is in fact incorrect semantics - fopen succeeded
and therefore, formally, should return true.
Previous Comments:
------------------------------------------------------------------------
[2003-11-28 14:47:28] steven at pearavenue dot com
Ah, but if this is the case then
stream_get_meta_data
should not fail after the resource fails - which the above example
shows it does.
------------------------------------------------------------------------
[2003-11-28 14:38:31] wez@php.net
RTM:
http://uk.php.net/manual/en/wrappers.php
search for $http_response_header
------------------------------------------------------------------------
[2003-11-28 14:04:23] steven at pearavenue dot com
A footnote here.
I am concerned that this behavior does not distinquish between a
"If-Modified-Since" 304 and an honest to goodness error (e.g., a "Not
Found" uri).
The designers might consider some means to recover the response/error
or a modification of this behavior. Let me know.
------------------------------------------------------------------------
[2003-11-28 13:57:19] steven at pearavenue dot com
My thanks.
I will confirm with the latest snap. Someone should document this 304
behavior - it is very useful.
------------------------------------------------------------------------
[2003-11-28 13:49:55] iliaa@php.net
This bug has been fixed in CVS.
In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.
PHP4 was missing certain context features that prevented it from
sending any context headers other then user_agent. This is now fixed.
Now in both PHP5 & PHP4 fopen() fails due to 304 response code.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/26440
--
Edit this bug report at http://bugs.php.net/?id=26440&edit=1