separate http_env_request; add getQuer(), getPost(), getFiles()
[m6w6/ext-http] / php_http_message.c
index ab2c86225f8c1328dc6495dfacfe55e9506b8d83..0322a4a1acf76fc6d196a5c0bbdb42398863e2e0 100644 (file)
@@ -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);