178 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			178 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Safe;
 | |
| 
 | |
| use Safe\Exceptions\ApacheException;
 | |
| 
 | |
| /**
 | |
|  * Fetch the Apache version.
 | |
|  *
 | |
|  * @return string Returns the Apache version on success.
 | |
|  * @throws ApacheException
 | |
|  *
 | |
|  */
 | |
| function apache_get_version(): string
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \apache_get_version();
 | |
|     if ($result === false) {
 | |
|         throw ApacheException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Retrieve an Apache environment variable specified by
 | |
|  * variable.
 | |
|  *
 | |
|  * This function requires Apache 2 otherwise it's undefined.
 | |
|  *
 | |
|  * @param string $variable The Apache environment variable
 | |
|  * @param bool $walk_to_top Whether to get the top-level variable available to all Apache layers.
 | |
|  * @return string The value of the Apache environment variable on success
 | |
|  * @throws ApacheException
 | |
|  *
 | |
|  */
 | |
| function apache_getenv(string $variable, bool $walk_to_top = false): string
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \apache_getenv($variable, $walk_to_top);
 | |
|     if ($result === false) {
 | |
|         throw ApacheException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Fetches all HTTP request headers from the current request. Works in the
 | |
|  * Apache, FastCGI, CLI, FPM and NSAPI server module
 | |
|  * in Netscape/iPlanet/SunONE webservers.
 | |
|  *
 | |
|  * @return array An associative array of all the HTTP headers in the current request.
 | |
|  * @throws ApacheException
 | |
|  *
 | |
|  */
 | |
| function apache_request_headers(): array
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \apache_request_headers();
 | |
|     if ($result === false) {
 | |
|         throw ApacheException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * apache_reset_timeout resets the Apache write timer,
 | |
|  * which defaults to 300 seconds. With set_time_limit(0);
 | |
|  * ignore_user_abort(true) and periodic
 | |
|  * apache_reset_timeout calls, Apache can theoretically
 | |
|  * run forever.
 | |
|  *
 | |
|  * This function requires Apache 1.
 | |
|  *
 | |
|  * @throws ApacheException
 | |
|  *
 | |
|  */
 | |
| function apache_reset_timeout(): void
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \apache_reset_timeout();
 | |
|     if ($result === false) {
 | |
|         throw ApacheException::createFromPhpError();
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Fetch all HTTP response headers.  Works in the
 | |
|  * Apache, FastCGI, CLI, FPM and NSAPI server module
 | |
|  * in Netscape/iPlanet/SunONE webservers.
 | |
|  *
 | |
|  * @return array An array of all Apache response headers on success.
 | |
|  * @throws ApacheException
 | |
|  *
 | |
|  */
 | |
| function apache_response_headers(): array
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \apache_response_headers();
 | |
|     if ($result === false) {
 | |
|         throw ApacheException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * apache_setenv sets the value of the Apache
 | |
|  * environment variable specified by
 | |
|  * variable.
 | |
|  *
 | |
|  * @param string $variable The environment variable that's being set.
 | |
|  * @param string $value The new variable value.
 | |
|  * @param bool $walk_to_top Whether to set the top-level variable available to all Apache layers.
 | |
|  * @throws ApacheException
 | |
|  *
 | |
|  */
 | |
| function apache_setenv(string $variable, string $value, bool $walk_to_top = false): void
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \apache_setenv($variable, $value, $walk_to_top);
 | |
|     if ($result === false) {
 | |
|         throw ApacheException::createFromPhpError();
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Fetches all HTTP headers from the current request.
 | |
|  *
 | |
|  * This function is an alias for apache_request_headers.
 | |
|  * Please read the apache_request_headers
 | |
|  * documentation for more information on how this function works.
 | |
|  *
 | |
|  * @return array An associative array of all the HTTP headers in the current request.
 | |
|  * @throws ApacheException
 | |
|  *
 | |
|  */
 | |
| function getallheaders(): array
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \getallheaders();
 | |
|     if ($result === false) {
 | |
|         throw ApacheException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * virtual is an Apache-specific function which
 | |
|  * is similar to <!--#include virtual...--> in
 | |
|  * mod_include.
 | |
|  * It performs an Apache sub-request.  It is useful for including
 | |
|  * CGI scripts or .shtml files, or anything else that you would
 | |
|  * parse through Apache. Note that for a CGI script, the script
 | |
|  * must generate valid CGI headers.  At the minimum that means it
 | |
|  * must generate a Content-Type header.
 | |
|  *
 | |
|  * To run the sub-request, all buffers are terminated and flushed to the
 | |
|  * browser, pending headers are sent too.
 | |
|  *
 | |
|  * @param string $filename The file that the virtual command will be performed on.
 | |
|  * @throws ApacheException
 | |
|  *
 | |
|  */
 | |
| function virtual(string $filename): void
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \virtual($filename);
 | |
|     if ($result === false) {
 | |
|         throw ApacheException::createFromPhpError();
 | |
|     }
 | |
| }
 |