Skip to content

Commit f5924f0

Browse files
committed
Merge pull request #3 from zelgerj/master
added delete after return flag to appserver_get_headers
2 parents db0e469 + 0c9e202 commit f5924f0

File tree

5 files changed

+38
-10
lines changed

5 files changed

+38
-10
lines changed

build.default.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
# ---- General Settings ---------------------------------------------------------
1111
php.ext.name = appserver
1212

13-
release.version = 0.1.2
13+
release.version = 0.1.3
1414
release.stability = beta
15-
api.version = 0.1.2
15+
api.version = 0.1.3
1616
api.stability = beta
1717

1818
php.version = 5.5.2

build.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@
4343
<include name="**/*" />
4444
</fileset>
4545
</copy>
46+
<copy todir="${c-target.dir}/${php.ext.name}" preservelastmodified="true" overwrite="true">
47+
<fileset dir="${c-src.dir}">
48+
<include name="php_appserver.h" />
49+
</fileset>
50+
<filterchain>
51+
<expandproperties/>
52+
</filterchain>
53+
</copy>
4654
<copy todir="${c-target.dir}/${php.ext.name}" preservelastmodified="true" overwrite="true">
4755
<fileset dir="${c-pecl.dir}">
4856
<include name="**/*"/>

src/appserver.c

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ const zend_function_entry appserver_functions[] = {
5959

6060
zend_module_entry appserver_module_entry = {
6161
STANDARD_MODULE_HEADER,
62-
"appserver",
62+
APPSERVER_NAME,
6363
appserver_functions,
6464
PHP_MINIT(appserver),
6565
PHP_MSHUTDOWN(appserver),
@@ -217,8 +217,9 @@ PHP_RSHUTDOWN_FUNCTION(appserver)
217217

218218
PHP_MINFO_FUNCTION(appserver)
219219
{
220-
php_info_print_table_start();
220+
php_info_print_table_start();
221221
php_info_print_table_header(2, "appserver support", "enabled");
222+
php_info_print_table_row(2, "Version", APPSERVER_VERSION);
222223
php_info_print_table_end();
223224

224225
/* Remove comments if you have entries in php.ini
@@ -308,16 +309,27 @@ PHP_FUNCTION(appserver_register_file_upload)
308309
RETURN_TRUE;
309310
}
310311

312+
/* {{{ proto array appserver_get_headers(boolean $reset_headers_flag)
313+
gets headers set via header function and reset if flag was set ... /* }}} */
311314
PHP_FUNCTION(appserver_get_headers)
312315
{
313316
appserver_llist_item *header_item;
317+
zend_bool headers_reset_flag = 0;
314318
char *string;
315-
319+
// parse params
320+
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &headers_reset_flag) == FAILURE) {
321+
return;
322+
}
323+
// init return value as array
316324
array_init(return_value);
317325
for (header_item = APPSERVER_GLOBALS(headers)->head; header_item != NULL; header_item = header_item->next) {
318326
string = header_item->ptr;
319327
add_next_index_string(return_value, string, 1);
320328
}
329+
// clear headers globals hash if delete flag was given
330+
if (headers_reset_flag != 0) {
331+
appserver_llist_clear(APPSERVER_GLOBALS(headers));
332+
}
321333
}
322334

323335
PHP_FUNCTION(appserver_set_headers_sent)

src/appserver.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,24 @@
2626
appserver_set_headers_sent(true);
2727
$result = var_export(headers_sent(), true);
2828
echo "CALL appserver_set_headers_sent(true): -> headers_sent = " . $result . PHP_EOL;
29-
appserver_set_headers_sent(false);
29+
appserver_set_headers_sent();
3030
$result = var_export(headers_sent(), true);
3131
echo "CALL appserver_set_headers_sent(false): -> headers_sent = " . $result;
3232
echo PHP_EOL . "==========================================". PHP_EOL;
3333

3434
appserver_set_headers_sent(false);
3535
header('X-Powered-By: appserver');
36-
header('Location: http://www.google.de');
37-
echo "CALL appserver_get_headers(): -> ";
36+
header('Location: http://www.appserver.io');
37+
echo "CALL #1 appserver_get_headers(): -> ";
3838
echo var_export(appserver_get_headers(), true);
3939
echo PHP_EOL . "==========================================". PHP_EOL;
40+
echo "CALL #2 appserver_get_headers(true): -> ";
41+
echo var_export(appserver_get_headers(true), true);
42+
echo PHP_EOL . "==========================================". PHP_EOL;
43+
echo "CALL #3 appserver_get_headers(): -> ";
44+
echo var_export(appserver_get_headers(), true);
45+
echo PHP_EOL . "==========================================". PHP_EOL;
46+
4047

4148
echo "CALL headers_sent(): -> ";
4249
echo var_export(headers_sent(), true);

src/php_appserver.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
extern zend_module_entry appserver_module_entry;
2626
#define phpext_appserver_ptr &appserver_module_entry
2727

28-
#define APPSERVER_VERSION "0.1.0"
28+
#define APPSERVER_NAME "${php.ext.name}"
29+
#define APPSERVER_VERSION "${release.version}"
2930

3031
#ifdef PHP_WIN32
3132
# define PHP_APPSERVER_API __declspec(dllexport)
@@ -71,7 +72,7 @@ PHP_FUNCTION(appserver_redefine);
7172

7273
ZEND_BEGIN_MODULE_GLOBALS(appserver)
7374
appserver_llist *headers;
74-
HashTable *uploaded_files;
75+
HashTable *uploaded_files;
7576
HashTable redefined;
7677
long pproftrace;
7778
ZEND_END_MODULE_GLOBALS(appserver)

0 commit comments

Comments
 (0)