![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/gositeme.com/public_html/whmcs/vendor/middlewares/utils/src/ |
<?php
namespace Middlewares\Utils;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
use Psr\Http\Message\UriInterface;
use Interop\Http\Factory\ResponseFactoryInterface;
use Interop\Http\Factory\StreamFactoryInterface;
use Interop\Http\Factory\UriFactoryInterface;
use Interop\Http\Factory\ServerRequestFactoryInterface;
/**
* Simple class to create instances of PSR-7 classes.
*/
abstract class Factory
{
/**
* @var ResponseFactoryInterface
*/
private static $responseFactory;
/**
* @var StreamFactoryInterface
*/
private static $streamFactory;
/**
* @var UriFactoryInterface
*/
private static $uriFactory;
/**
* @var ServerRequestFactoryInterface
*/
private static $serverRequestFactory;
/**
* Set a custom ResponseFactory.
*
* @param ResponseFactoryInterface $responseFactory
*/
public static function setResponseFactory(ResponseFactoryInterface $responseFactory)
{
self::$responseFactory = $responseFactory;
}
/**
* Set a custom StreamFactory.
*
* @param StreamFactoryInterface $streamFactory
*/
public static function setStreamFactory(StreamFactoryInterface $streamFactory)
{
self::$streamFactory = $streamFactory;
}
/**
* Set a custom UriFactory.
*
* @param UriFactoryInterface $uriFactory
*/
public static function setUriFactory(UriFactoryInterface $uriFactory)
{
self::$uriFactory = $uriFactory;
}
/**
* Set a custom ServerRequestFactory.
*
* @param ServerRequestFactoryInterface $serverRequestFactory
*/
public static function setServerRequestFactory(ServerRequestFactoryInterface $serverRequestFactory)
{
self::$serverRequestFactory = $serverRequestFactory;
}
/**
* Creates a Response instance.
*
* @param int $code The status code
*
* @return ResponseInterface
*/
public static function createResponse($code = 200)
{
if (self::$responseFactory === null) {
self::$responseFactory = new ResponseFactory();
}
return self::$responseFactory->createResponse($code);
}
/**
* Creates a Stream instance.
*
* @param resource $resource A resource returned by fopen
*
* @return StreamInterface
*/
public static function createStream($resource = null)
{
if (self::$streamFactory === null) {
self::$streamFactory = new StreamFactory();
}
if ($resource === null) {
return self::$streamFactory->createStream();
}
return self::$streamFactory->createStreamFromResource($resource);
}
/**
* Creates an Uri instance.
*
* @param string $uri
*
* @return UriInterface
*/
public static function createUri($uri = '')
{
if (self::$uriFactory === null) {
self::$uriFactory = new UriFactory();
}
return self::$uriFactory->createUri($uri);
}
/**
* Creates a ServerRequest instance.
*
* @param array $server
* @param string $method
* @param string $uri
*
* @return ServerRequest
*/
public static function createServerRequest(array $server = [], $method = 'GET', $uri = '/')
{
if (self::$serverRequestFactory === null) {
self::$serverRequestFactory = new ServerRequestFactory();
}
return self::$serverRequestFactory->createServerRequest($server, $method, $uri);
}
}