|
|
|
@ -280,34 +280,34 @@ SAPI_API size_t sapi_apply_default_charset(char **mimetype, size_t len TSRMLS_DC |
|
|
|
|
|
|
|
SAPI_API void sapi_activate_headers_only(TSRMLS_D) |
|
|
|
{ |
|
|
|
if (SG(request_info).headers_read == 1) |
|
|
|
return; |
|
|
|
SG(request_info).headers_read = 1; |
|
|
|
zend_llist_init(&SG(sapi_headers).headers, sizeof(sapi_header_struct), (void (*)(void *)) sapi_free_header, 0); |
|
|
|
SG(sapi_headers).send_default_content_type = 1; |
|
|
|
|
|
|
|
/* |
|
|
|
SG(sapi_headers).http_response_code = 200; |
|
|
|
*/ |
|
|
|
SG(sapi_headers).http_status_line = NULL; |
|
|
|
SG(request_info).current_user = NULL; |
|
|
|
SG(request_info).current_user_length = 0; |
|
|
|
SG(request_info).no_headers = 0; |
|
|
|
|
|
|
|
/* It's possible to override this general case in the activate() callback, if |
|
|
|
* necessary. |
|
|
|
*/ |
|
|
|
if (SG(request_info).request_method && !strcmp(SG(request_info).request_method, "HEAD")) { |
|
|
|
SG(request_info).headers_only = 1; |
|
|
|
} else { |
|
|
|
SG(request_info).headers_only = 0; |
|
|
|
} |
|
|
|
if (SG(server_context)) { |
|
|
|
SG(request_info).cookie_data = sapi_module.read_cookies(TSRMLS_C); |
|
|
|
if (sapi_module.activate) { |
|
|
|
sapi_module.activate(TSRMLS_C); |
|
|
|
} |
|
|
|
} |
|
|
|
if (SG(request_info).headers_read == 1) |
|
|
|
return; |
|
|
|
SG(request_info).headers_read = 1; |
|
|
|
zend_llist_init(&SG(sapi_headers).headers, sizeof(sapi_header_struct), |
|
|
|
(void (*)(void *)) sapi_free_header, 0); |
|
|
|
SG(sapi_headers).send_default_content_type = 1; |
|
|
|
|
|
|
|
/* SG(sapi_headers).http_response_code = 200; */ |
|
|
|
SG(sapi_headers).http_status_line = NULL; |
|
|
|
SG(request_info).current_user = NULL; |
|
|
|
SG(request_info).current_user_length = 0; |
|
|
|
SG(request_info).no_headers = 0; |
|
|
|
|
|
|
|
/* |
|
|
|
* It's possible to override this general case in the activate() callback, |
|
|
|
* if necessary. |
|
|
|
*/ |
|
|
|
if (SG(request_info).request_method && !strcmp(SG(request_info).request_method, "HEAD")) { |
|
|
|
SG(request_info).headers_only = 1; |
|
|
|
} else { |
|
|
|
SG(request_info).headers_only = 0; |
|
|
|
} |
|
|
|
if (SG(server_context)) { |
|
|
|
SG(request_info).cookie_data = sapi_module.read_cookies(TSRMLS_C); |
|
|
|
if (sapi_module.activate) { |
|
|
|
sapi_module.activate(TSRMLS_C); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* |
|
|
|
@ -423,9 +423,9 @@ SAPI_API void sapi_deactivate(TSRMLS_D) |
|
|
|
SG(sapi_headers).mimetype = NULL; |
|
|
|
} |
|
|
|
sapi_send_headers_free(TSRMLS_C); |
|
|
|
SG(sapi_started) = 0; |
|
|
|
SG(headers_sent) = 0; |
|
|
|
SG(request_info).headers_read = 0; |
|
|
|
SG(sapi_started) = 0; |
|
|
|
SG(headers_sent) = 0; |
|
|
|
SG(request_info).headers_read = 0; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|