{
int retval;
sapi_header_struct sapi_header;
+ char *colon_offset;
SLS_FETCH();
if (SG(headers_sent)) {
sapi_header.header = header_line;
sapi_header.header_len = header_line_len;
+ colon_offset = strchr(header_line, ':');
+ if (colon_offset) {
+ *colon_offset = 0;
+ if (!STRCASECMP(header_line, "Content-Type")) {
+ SG(sapi_headers).send_default_content_type = 0;
+ } else if (!STRCASECMP(header_line, "Location")) {
+ SG(sapi_headers).http_response_code = 302; /* redirect */
+ }
+ *colon_offset = ':';
+ }
+
if (sapi_module.header_handler) {
retval = sapi_module.header_handler(&sapi_header, &SG(sapi_headers) SLS_CC);
} else {
zend_llist_clean(&SG(sapi_headers).headers);
}
if (retval & SAPI_HEADER_ADD) {
- char *colon_offset = strchr(header_line, ':');
-
- if (colon_offset) {
- *colon_offset = 0;
- if (!STRCASECMP(header_line, "Content-Type")) {
- SG(sapi_headers).send_default_content_type = 0;
- }
- *colon_offset = ':';
- }
zend_llist_add_element(&SG(sapi_headers).headers, (void *) &sapi_header);
}
return SUCCESS;
if (!strcasecmp(header_name, "Content-Type")) {
r->content_type = pstrdup(r->pool, header_content);
- } else if (!strcasecmp(header_name, "Location")) {
- r->status = REDIRECT;
} else {
table_set(r->headers_out, header_name, header_content);
}
int sapi_apache_send_headers(sapi_headers_struct *sapi_headers SLS_DC)
{
+ ((request_rec *) SG(server_context))->status = SG(sapi_headers).http_response_code;
send_http_header((request_rec *) SG(server_context));
return SAPI_HEADER_SENT_SUCCESSFULLY;
}