Bug #69655 [Com]: php -S changes MKCALENDAR request method

From: Date: Mon, 18 May 2015 23:29:08 +0000
Subject: Bug #69655 [Com]: php -S changes MKCALENDAR request method
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-192742@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=69655&edit=1

 ID:                 69655
 Comment by:         markus at unterwaditzer dot net
 Reported by:        markus at unterwaditzer dot net
 Summary:            php -S changes MKCALENDAR request method
 Status:             Analyzed
 Type:               Bug
 Package:            Built-in web server
 Operating System:   Linux
 PHP Version:        5.6.9
 Block user comment: N
 Private report:     N

 New Comment:

Original discussion: https://github.com/fruux/sabre-dav/issues/603#issuecomment-103086001

Further bugs related to the HTTP request method (in either PHP itself or the HTTP parser it uses)
include:

- No response/idling connection with MKCO or MKCOLL as request method.
- Empty reply with M as request method.

It seems http-parser includes some very complex logic to parse the HTTP method performantly: https://github.com/joyent/http-parser/blob/master/http_parser.c#L1008

Total armchair engineering here, but isn't it easier (and performant enough for the builtin
server) to just pass the method on to PHP unparsed?


Previous Comments:
------------------------------------------------------------------------
[2015-05-18 21:06:17] cmb@php.net

Actually, MKCALENDAR is not yet supported by the CLI server. When
I do the respective curl request, I get "curl: (52) Empty reply
from server" (PHP 5.6.8 and current master on Windows, curl
running on Cygwin).

------------------------------------------------------------------------
[2015-05-18 15:13:51] markus at unterwaditzer dot net

Description:
------------
PHP's built-in web server changes the request method MKCALENDAR to MKCOL.

Serve the given test script with:

    php -S localhost:8080 ./foobar.php

and do a test request with e.g.:

    curl -X MKCALENDAR http://localhost:8080/

Test script:
---------------
<?php echo $_SERVER['REQUEST_METHOD']; ?>

Expected result:
----------------
The response body should be "MKCALENDAR".

Actual result:
--------------
The response body is "MKCOL".


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



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


Thread (7 messages)

« previous php.bugs (#192742) next »