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;
STATUS php_http_message_object_init_body_object(php_http_message_object_t *obj)
{
- TSRMLS_FETCH_FROM_CTX(obj);
+ TSRMLS_FETCH_FROM_CTX(obj->message->ts);
php_http_message_body_addref(obj->message->body);
return php_http_new(NULL, php_http_message_body_class_entry, (php_http_new_t) php_http_message_body_object_new_ex, NULL, obj->message->body, (void *) &obj->body TSRMLS_CC);
result = !strcasecmp(haystack_str, needle_str);
}
} else {
- char *found, *haystack = estrdup(haystack_str), *needle = estrdup(needle_str);
+ const char *found;
+ char *haystack = estrdup(haystack_str), *needle = estrdup(needle_str);
if (flags & PHP_HTTP_MATCH_CASE) {
found = zend_memnstr(haystack, needle, strlen(needle), haystack+strlen(haystack));