/* {{{ STATUS http_send_status_header(int, char *) */
PHP_HTTP_API STATUS _http_send_status_header(int status, const char *header TSRMLS_DC)
{
+ STATUS ret;
sapi_header_line h = {(char *) header, strlen(header), status};
- return sapi_header_op(SAPI_HEADER_REPLACE, &h TSRMLS_CC);
+ if (SUCCESS != (ret = sapi_header_op(SAPI_HEADER_REPLACE, &h TSRMLS_CC))) {
+ http_error_ex(E_WARNING, HTTP_E_HEADER, "Could not send header: %s (%d)", header, status);
+ }
+ return ret;
}
/* }}} */
char *etag_header;
if (!etag_len){
- php_error_docref(NULL TSRMLS_CC,E_ERROR,
- "Attempt to send empty ETag (previous: %s)\n", HTTP_G(etag));
+ http_error_ex(E_WARNING, HTTP_E_HEADER, "Attempt to send empty ETag (previous: %s)\n", HTTP_G(etag));
return FAILURE;
}
etag_header = ecalloc(1, sizeof("ETag: \"\"") + etag_len);
sprintf(etag_header, "ETag: \"%s\"", etag);
- if (SUCCESS != (status = http_send_header(etag_header))) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't send '%s' header", etag_header);
- }
+ status = http_send_header(etag_header);
efree(etag_header);
return status;
}
char *cc_header = ecalloc(1, sizeof("Cache-Control: ") + cc_len);
sprintf(cc_header, "Cache-Control: %s", cache_control);
- if (SUCCESS != (status = http_send_header(cc_header))) {
- php_error_docref(NULL TSRMLS_CC, E_NOTICE,
- "Could not send '%s' header", cc_header);
- }
+ status = http_send_header(cc_header);
efree(cc_header);
return status;
}
char *ct_header;
if (!strchr(content_type, '/')) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING,
- "Content-Type '%s' doesn't seem to consist of a primary and a secondary part",
- content_type);
+ http_error_ex(E_WARNING, HTTP_E_PARAM, "Content-Type '%s' doesn't seem to consist of a primary and a secondary part", content_type);
return FAILURE;
}
ct_header = ecalloc(1, sizeof("Content-Type: ") + ct_len);
sprintf(ct_header, "Content-Type: %s", content_type);
-
- if (SUCCESS != (status = http_send_header(ct_header))) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING,
- "Couldn't send '%s' header", ct_header);
- }
+ status = http_send_header(ct_header);
efree(ct_header);
return status;
}
sprintf(cd_header, "Content-Disposition: attachment; filename=\"%s\"", filename);
}
- if (SUCCESS != (status = http_send_header(cd_header))) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't send '%s' header", cd_header);
- }
+ status = http_send_header(cd_header);
efree(cd_header);
return status;
}