diff options
author | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-05-14 13:31:52 +0200 |
---|---|---|
committer | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-05-14 13:35:12 +0200 |
commit | 68527a7834eec98dc33af2fe053c31ce64e745c6 (patch) | |
tree | 5694ae624bddc1515889f85b4db2375de92139b4 /sapi/litespeed | |
parent | 161ee110bf6a0abb673cdf7429868be62236207d (diff) | |
download | php-git-68527a7834eec98dc33af2fe053c31ce64e745c6.tar.gz |
Add stubs for some SAPIs
For apache2handler, fpm, litespeed, phpdbg, specifically.
Partially implements GH-5295
Diffstat (limited to 'sapi/litespeed')
-rw-r--r-- | sapi/litespeed/lsapi_main.c | 49 | ||||
-rw-r--r-- | sapi/litespeed/lsapi_main.stub.php | 20 | ||||
-rw-r--r-- | sapi/litespeed/lsapi_main_arginfo.h | 36 |
3 files changed, 73 insertions, 32 deletions
diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c index 186558a325..1a6527a68b 100644 --- a/sapi/litespeed/lsapi_main.c +++ b/sapi/litespeed/lsapi_main.c @@ -24,6 +24,7 @@ #include "ext/standard/basic_functions.h" #include "ext/standard/info.h" #include "lsapilib.h" +#include "lsapi_main_arginfo.h" #include <stdio.h> #include <stdlib.h> @@ -1615,11 +1616,6 @@ int main( int argc, char * argv[] ) /* LiteSpeed PHP module starts here */ -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO(arginfo_litespeed__void, 0) -ZEND_END_ARG_INFO() -/* }}} */ - PHP_FUNCTION(litespeed_request_headers); PHP_FUNCTION(litespeed_response_headers); PHP_FUNCTION(apache_get_modules); @@ -1627,17 +1623,6 @@ PHP_FUNCTION(litespeed_finish_request); PHP_MINFO_FUNCTION(litespeed); -static const zend_function_entry litespeed_functions[] = { - PHP_FE(litespeed_request_headers, arginfo_litespeed__void) - PHP_FE(litespeed_response_headers, arginfo_litespeed__void) - PHP_FE(apache_get_modules, arginfo_litespeed__void) - PHP_FE(litespeed_finish_request, arginfo_litespeed__void) - PHP_FALIAS(getallheaders, litespeed_request_headers, arginfo_litespeed__void) - PHP_FALIAS(apache_request_headers, litespeed_request_headers, arginfo_litespeed__void) - PHP_FALIAS(apache_response_headers, litespeed_response_headers, arginfo_litespeed__void) - {NULL, NULL, NULL} -}; - static PHP_MINIT_FUNCTION(litespeed) { user_config_cache_init(); @@ -1675,7 +1660,7 @@ static PHP_MSHUTDOWN_FUNCTION(litespeed) zend_module_entry litespeed_module_entry = { STANDARD_MODULE_HEADER, "litespeed", - litespeed_functions, + ext_functions, PHP_MINIT(litespeed), PHP_MSHUTDOWN(litespeed), NULL, @@ -1697,14 +1682,13 @@ static int add_associate_array( const char * pKey, int keyLen, const char * pVal Fetch all HTTP request headers */ PHP_FUNCTION(litespeed_request_headers) { - /* TODO: */ - if (ZEND_NUM_ARGS() > 0) { - WRONG_PARAM_COUNT; + if (zend_parse_parameters_none() == FAILURE) { + RETURN_THROWS(); } + array_init(return_value); LSAPI_ForeachOrgHeader( add_associate_array, return_value ); - } /* }}} */ @@ -1720,9 +1704,9 @@ PHP_FUNCTION(litespeed_response_headers) int len; char headerBuf[SAPI_LSAPI_MAX_HEADER_LENGTH]; - if (ZEND_NUM_ARGS() > 0) { - WRONG_PARAM_COUNT; - } + if (zend_parse_parameters_none() == FAILURE) { + RETURN_THROWS(); + } if (!&SG(sapi_headers).headers) { RETURN_FALSE; @@ -1762,10 +1746,11 @@ PHP_FUNCTION(apache_get_modules) "mod_rewrite", "mod_mime", "mod_headers", "mod_expires", "mod_auth_basic", NULL }; const char **name = mod_names; - /* TODO: */ - if (ZEND_NUM_ARGS() > 0) { - WRONG_PARAM_COUNT; - } + + if (zend_parse_parameters_none() == FAILURE) { + RETURN_THROWS(); + } + array_init(return_value); while( *name ) { @@ -1776,13 +1761,13 @@ PHP_FUNCTION(apache_get_modules) /* }}} */ -/* {{{ proto array litespeed_finish_request(void) +/* {{{ proto bool litespeed_finish_request(void) Flushes all response data to the client */ PHP_FUNCTION(litespeed_finish_request) { - if (ZEND_NUM_ARGS() > 0) { - WRONG_PARAM_COUNT; - } + if (zend_parse_parameters_none() == FAILURE) { + RETURN_THROWS(); + } php_output_end_all(); php_header(); diff --git a/sapi/litespeed/lsapi_main.stub.php b/sapi/litespeed/lsapi_main.stub.php new file mode 100644 index 0000000000..396cb86385 --- /dev/null +++ b/sapi/litespeed/lsapi_main.stub.php @@ -0,0 +1,20 @@ +<?php + +/** @generate-function-entries */ + +function litespeed_request_headers(): array {} + +/** @alias litespeed_request_headers */ +function getallheaders(): array {} + +/** @alias litespeed_request_headers */ +function apache_request_headers(): array {} + +function litespeed_response_headers(): array|false {} + +/** @alias litespeed_response_headers */ +function apache_response_headers(): array|false {} + +function apache_get_modules(): array {} + +function litespeed_finish_request(): bool {} diff --git a/sapi/litespeed/lsapi_main_arginfo.h b/sapi/litespeed/lsapi_main_arginfo.h new file mode 100644 index 0000000000..4198c43519 --- /dev/null +++ b/sapi/litespeed/lsapi_main_arginfo.h @@ -0,0 +1,36 @@ +/* This is a generated file, edit the .stub.php file instead. */ + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_litespeed_request_headers, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +#define arginfo_getallheaders arginfo_litespeed_request_headers + +#define arginfo_apache_request_headers arginfo_litespeed_request_headers + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_litespeed_response_headers, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE) +ZEND_END_ARG_INFO() + +#define arginfo_apache_response_headers arginfo_litespeed_response_headers + +#define arginfo_apache_get_modules arginfo_litespeed_request_headers + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_litespeed_finish_request, 0, 0, _IS_BOOL, 0) +ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(litespeed_request_headers); +ZEND_FUNCTION(litespeed_response_headers); +ZEND_FUNCTION(apache_get_modules); +ZEND_FUNCTION(litespeed_finish_request); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(litespeed_request_headers, arginfo_litespeed_request_headers) + ZEND_FALIAS(getallheaders, litespeed_request_headers, arginfo_getallheaders) + ZEND_FALIAS(apache_request_headers, litespeed_request_headers, arginfo_apache_request_headers) + ZEND_FE(litespeed_response_headers, arginfo_litespeed_response_headers) + ZEND_FALIAS(apache_response_headers, litespeed_response_headers, arginfo_apache_response_headers) + ZEND_FE(apache_get_modules, arginfo_apache_get_modules) + ZEND_FE(litespeed_finish_request, arginfo_litespeed_finish_request) + ZEND_FE_END +}; |