Edit report at https://bugs.php.net/bug.php?id=51918&edit=1

 ID:                 51918
 Comment by:         f at overridelogic dot com
 Reported by:        max dot romanovsky at gmail dot com
 Summary:            Phar::webPhar() does not handle requests sent
                     through PUT and DELETE method
 Status:             Open
 Type:               Feature/Change Request
 Package:            PHAR related
 Operating System:   FreeBSD
 PHP Version:        5.3.2
 Block user comment: N
 Private report:     N

 New Comment:

I ran into the same problem with the same results with 5.3.9 on Ubuntu, and 
created a patch (phar_restful.patch) to support PUT, DELETE and OPTIONS. He are 
my results after applying it:


Test script
-----------
phar = new Phar('temp.phar');
$phar['index.php'] = '<?php var_dump(file_get_contents("php://input"), 
$_SERVER["REQUEST_METHOD"]); ?>';


Test requests
--------------
PUT /temp.phar/index.php HTTP/1.1
Host: localhost
Content-Length: 11

Hello World


DELETE /temp.phar/index.php HTTP/1.1
Host: localhost
Content-Length: 11

Hello World


OPTIONS /temp.phar/index.php HTTP/1.1
Host: localhost
Content-Length: 11

Hello World



Actual result
-------------
HTTP/1.1 200 OK
Date: Wed, 11 Jan 2012 15:39:36 GMT
Server: Apache/2.2.16 (Ubuntu)
X-Powered-By: PHP/5.3.9
Vary: Accept-Encoding
Content-Length: 41
Content-Type: text/html

string(11) "Hello World"
string(3) "PUT"


HTTP/1.1 200 OK
Date: Wed, 11 Jan 2012 15:39:38 GMT
Server: Apache/2.2.16 (Ubuntu)
X-Powered-By: PHP/5.3.9
Vary: Accept-Encoding
Content-Length: 44
Content-Type: text/html

string(11) "Hello World"
string(6) "DELETE"


HTTP/1.1 200 OK
Date: Wed, 11 Jan 2012 15:39:42 GMT
Server: Apache/2.2.16 (Ubuntu)
X-Powered-By: PHP/5.3.9
Vary: Accept-Encoding
Content-Length: 45
Content-Type: text/html

string(11) "Hello World"
string(7) "OPTIONS"


Previous Comments:
------------------------------------------------------------------------
[2011-08-29 20:35:34] max dot romanovsky at gmail dot com

But we can't build RESTful application that will be packaged in Phar and 
started 
using Phar::webPhar().
Or there is some other intention to handle only GET and POST methods?

------------------------------------------------------------------------
[2011-08-29 19:06:53] bj...@php.net

It seems quite intentional. It only supports GET and POST, not PUT, DELETE, 
HEAD, 
...

------------------------------------------------------------------------
[2010-05-26 10:40:16] max dot romanovsky at gmail dot com

Description:
------------
Phar::webPhar() does not handle requests sent through PUT and DELETE request 
method.

Test script:
---------------
PUT /REST/foo HTTP/1.1
host: example.com
Content-Length: 2
12


HTTP/1.1 200 OK
Server: nginx/0.8.36
Date: Tue, 25 May 2010 14:01:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.3.2

0



------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=51918&edit=1

Reply via email to