diff options
| author | Arnaud Le Blanc <lbarnaud@php.net> | 2008-11-13 10:14:04 +0000 |
|---|---|---|
| committer | Arnaud Le Blanc <lbarnaud@php.net> | 2008-11-13 10:14:04 +0000 |
| commit | 8c4151ad72b6c5a82b341aaf59d2c31521ca4341 (patch) | |
| tree | ccc7c01da54fd7f7a02d03d7017e78a359aa254e /ext/standard/head.c | |
| parent | 06119f4748066e61163764bbb31d1db4b21b6d07 (diff) | |
| download | php-git-8c4151ad72b6c5a82b341aaf59d2c31521ca4341.tar.gz | |
Added header_remove() (chsc at peytz dotdk, Arnaud)
[DOC] proto void header_remove([string header_name])
Removes an HTTP header previously set using header()
The header_name parameter is optionnal, all headers are
removed if it is not set
[SAPIs] The header_handler callback in sapi_module_struct has
been changed, it now take a new argument.
When it is set to SAPI_HEADER_DELETE, sapi_header->header is
the name of an header, header_handler has to delete it.
When it is set to SAPI_HEADER_DELETE_ALL, header_handler has
to delete all headers.
When sapi_header_op_enum is SAPI_HEADER_ADD or _REPLACE,
sapi_header->header is in the form "Name: value", header_handler
has to add or replace the given header.
In all cases, header_handler must not free sapi_header or
sapi_header->header. SAPI_HEADER_ADD must be returned if the
header has been added or replaced, or 0 in other cases.
Diffstat (limited to 'ext/standard/head.c')
| -rw-r--r-- | ext/standard/head.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ext/standard/head.c b/ext/standard/head.c index 3e6c59f133..bcb7f37963 100644 --- a/ext/standard/head.c +++ b/ext/standard/head.c @@ -50,6 +50,20 @@ PHP_FUNCTION(header) } /* }}} */ +/* {{{ proto void header_remove([string name]) + Removes an HTTP header previously set using header() */ +PHP_FUNCTION(header_remove) +{ + sapi_header_line ctr = {0}; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ctr.line, + &ctr.line_len) == FAILURE) + return; + + sapi_header_op(ZEND_NUM_ARGS() == 0 ? SAPI_HEADER_DELETE_ALL : SAPI_HEADER_DELETE, &ctr TSRMLS_CC); +} +/* }}} */ + PHPAPI int php_header(TSRMLS_D) { if (sapi_send_headers(TSRMLS_C)==FAILURE || SG(request_info).headers_only) { |
