X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_message.c;h=0322a4a1acf76fc6d196a5c0bbdb42398863e2e0;hp=ab2c86225f8c1328dc6495dfacfe55e9506b8d83;hb=e0dfcd720b949fe1883e9a5b185d0d255a222707;hpb=5389d7b1cc701efea82a2c6cbb1cc1b234f705e3 diff --git a/php_http_message.c b/php_http_message.c index ab2c862..0322a4a 100644 --- a/php_http_message.c +++ b/php_http_message.c @@ -23,7 +23,9 @@ PHP_HTTP_API zend_bool php_http_message_info_callback(php_http_message_t **messa (*headers) = &((*message)->hdrs); } - php_http_message_set_info(*message, info); + if (info) { + php_http_message_set_info(*message, info); + } return old != *message; } @@ -65,6 +67,14 @@ PHP_HTTP_API php_http_message_t *php_http_message_init_env(php_http_message_t *m if ((sval = php_http_env_get_server_var(ZEND_STRL("REQUEST_URI"), 1 TSRMLS_CC))) { message->http.info.request.url = estrdup(Z_STRVAL_P(sval)); } + if ((sval = php_http_env_get_server_var(ZEND_STRL("CONTENT_TYPE"), 1 TSRMLS_CC))) { + Z_ADDREF_P(sval); + zend_hash_update(&message->hdrs, "Content-Type", sizeof("Content-Type"), (void *) &sval, sizeof(zval *), NULL); + } + if ((sval = php_http_env_get_server_var(ZEND_STRL("CONTENT_LENGTH"), 1 TSRMLS_CC))) { + Z_ADDREF_P(sval); + zend_hash_update(&message->hdrs, "Content-Length", sizeof("Content-Length"), (void *) &sval, sizeof(zval *), NULL); + } php_http_env_get_request_headers(&message->hdrs TSRMLS_CC);