projects
/
m6w6
/
ext-http
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
|
github
raw
|
patch
|
inline
| side by side (parent:
7864108
)
fix JSON POST handler in PHP-5.6+
author
Michael Wallner
<mike@php.net>
Tue, 22 Apr 2014 09:58:06 +0000
(11:58 +0200)
committer
Michael Wallner
<mike@php.net>
Tue, 22 Apr 2014 09:58:06 +0000
(11:58 +0200)
php_http_env.c
patch
|
blob
|
history
diff --git
a/php_http_env.c
b/php_http_env.c
index fdc7b9696a0f80e6736436660e849af70b48a50f..30ee32d7c68b3341aeaeb24c909b102537caccdf 100644
(file)
--- a/
php_http_env.c
+++ b/
php_http_env.c
@@
-957,8
+957,11
@@
static SAPI_POST_HANDLER_FUNC(php_http_json_post_handler)
size_t json_len = 0;
#if PHP_VERSION_ID >= 50600
size_t json_len = 0;
#if PHP_VERSION_ID >= 50600
- php_http_message_body_to_string(php_http_env_get_request_body(TSRMLS_C),
- &json_str, &json_len, 0, -1);
+ if (SG(request_info).request_body) {
+ /* FG(stream_wrappers) not initialized yet, so we cannot use php://input */
+ php_stream_rewind(SG(request_info).request_body);
+ json_len = php_stream_copy_to_mem(SG(request_info).request_body, &json_str, PHP_STREAM_COPY_ALL, 0);
+ }
#else
json_str = SG(request_info).raw_post_data;
json_len = SG(request_info).raw_post_data_length;
#else
json_str = SG(request_info).raw_post_data;
json_len = SG(request_info).raw_post_data_length;