fix: convert filter to non-statics
This commit is contained in:
parent
bcebe02eef
commit
eacf7541a9
|
@ -391,20 +391,18 @@ App::init()
|
|||
*/
|
||||
$route = $utopia->getRoute();
|
||||
Request::setRoute($route);
|
||||
Request::resetFilters();
|
||||
|
||||
if ($route === null) {
|
||||
return $response->setStatusCode(404)->send('Not Found');
|
||||
}
|
||||
|
||||
$requestFormat = $request->getHeader('x-appwrite-response-format', App::getEnv('_APP_SYSTEM_RESPONSE_FORMAT', null));
|
||||
|
||||
if ($requestFormat) {
|
||||
if (version_compare($requestFormat, '1.4.0', '<')) {
|
||||
Request::addFilter(new RequestV16());
|
||||
$request->addFilter(new RequestV16());
|
||||
}
|
||||
if (version_compare($requestFormat, '1.5.0', '<')) {
|
||||
Request::addFilter(new RequestV17());
|
||||
$request->addFilter(new RequestV17());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -514,15 +512,13 @@ App::init()
|
|||
/*
|
||||
* Response format
|
||||
*/
|
||||
Response::resetFilters();
|
||||
|
||||
$responseFormat = $request->getHeader('x-appwrite-response-format', App::getEnv('_APP_SYSTEM_RESPONSE_FORMAT', null));
|
||||
if ($responseFormat) {
|
||||
if (version_compare($responseFormat, '1.4.0', '<')) {
|
||||
Response::addFilter(new ResponseV16());
|
||||
$response->addFilter(new ResponseV16());
|
||||
}
|
||||
if (version_compare($responseFormat, '1.5.0', '<')) {
|
||||
Response::addFilter(new ResponseV17());
|
||||
$response->addFilter(new ResponseV17());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,8 +12,7 @@ class Request extends UtopiaRequest
|
|||
/**
|
||||
* @var array<Filter>
|
||||
*/
|
||||
private static array $filters = [];
|
||||
|
||||
private array $filters = [];
|
||||
private static ?Route $route = null;
|
||||
|
||||
public function __construct(SwooleRequest $request)
|
||||
|
@ -28,15 +27,13 @@ class Request extends UtopiaRequest
|
|||
{
|
||||
$parameters = parent::getParams();
|
||||
|
||||
if (self::hasFilters() && self::hasRoute()) {
|
||||
if ($this->hasFilters() && self::hasRoute()) {
|
||||
$method = self::getRoute()->getLabel('sdk.method', 'unknown');
|
||||
$endpointIdentifier = self::getRoute()->getLabel('sdk.namespace', 'unknown') . '.' . $method;
|
||||
|
||||
$parameters = array_reduce(
|
||||
self::getFilters(),
|
||||
fn (array $carry, Filter $filter) => $filter->parse($carry, $endpointIdentifier),
|
||||
$parameters
|
||||
);
|
||||
foreach ($this->getFilters() as $filter) {
|
||||
$parameters = $filter->parse($parameters, $endpointIdentifier);
|
||||
}
|
||||
}
|
||||
|
||||
return $parameters;
|
||||
|
@ -49,9 +46,9 @@ class Request extends UtopiaRequest
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function addFilter(Filter $filter): void
|
||||
public function addFilter(Filter $filter): void
|
||||
{
|
||||
self::$filters[] = $filter;
|
||||
$this->filters[] = $filter;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -59,9 +56,9 @@ class Request extends UtopiaRequest
|
|||
*
|
||||
* @return array<Filter>
|
||||
*/
|
||||
public static function getFilters(): array
|
||||
public function getFilters(): array
|
||||
{
|
||||
return self::$filters;
|
||||
return $this->filters;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -69,9 +66,9 @@ class Request extends UtopiaRequest
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function resetFilters(): void
|
||||
public function resetFilters(): void
|
||||
{
|
||||
self::$filters = [];
|
||||
$this->filters = [];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -79,9 +76,9 @@ class Request extends UtopiaRequest
|
|||
*
|
||||
* @return bool
|
||||
*/
|
||||
public static function hasFilters(): bool
|
||||
public function hasFilters(): bool
|
||||
{
|
||||
return !empty(self::$filters);
|
||||
return !empty($this->filters);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -301,7 +301,7 @@ class Response extends SwooleResponse
|
|||
/**
|
||||
* @var array<Filter>
|
||||
*/
|
||||
private static $filters = [];
|
||||
protected array $filters = [];
|
||||
|
||||
/**
|
||||
* @var array
|
||||
|
@ -526,7 +526,7 @@ class Response extends SwooleResponse
|
|||
$output = $this->output(clone $document, $model);
|
||||
|
||||
// If filter is set, parse the output
|
||||
foreach (self::$filters as $filter) {
|
||||
foreach ($this->filters as $filter) {
|
||||
$output = $filter->parse($output, $model);
|
||||
}
|
||||
|
||||
|
@ -688,9 +688,9 @@ class Response extends SwooleResponse
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function addFilter(Filter $filter): void
|
||||
public function addFilter(Filter $filter): void
|
||||
{
|
||||
self::$filters[] = $filter;
|
||||
$this->filters[] = $filter;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -698,9 +698,9 @@ class Response extends SwooleResponse
|
|||
*
|
||||
* @return Filter
|
||||
*/
|
||||
public static function getFilters(): array
|
||||
public function getFilters(): array
|
||||
{
|
||||
return self::$filters;
|
||||
return $this->filters;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -708,9 +708,9 @@ class Response extends SwooleResponse
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function resetFilters(): void
|
||||
public function resetFilters(): void
|
||||
{
|
||||
self::$filters = [];
|
||||
$this->filters = [];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -718,9 +718,9 @@ class Response extends SwooleResponse
|
|||
*
|
||||
* @return bool
|
||||
*/
|
||||
public static function hasFilters(): bool
|
||||
public function hasFilters(): bool
|
||||
{
|
||||
return !empty(self::$filters);
|
||||
return !empty($this->filters);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue