改名
This commit is contained in:
@@ -70,10 +70,42 @@ class Response extends HttpService implements ResponseInterface
|
||||
$this->clientId = $int;
|
||||
$manager = Kiri::getDi()->get(ServerManager::class);
|
||||
$this->_clientInfo = $manager->getServer()->getClientInfo($int);
|
||||
if (!empty($this->reactorId))
|
||||
{
|
||||
$this->reactorId = $reID;
|
||||
}
|
||||
if (!empty($this->reactorId)) {
|
||||
$this->reactorId = $reID;
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $value
|
||||
* @return $this
|
||||
*/
|
||||
public function withAccessControlAllowHeaders($value): static
|
||||
{
|
||||
$this->headers['Access-Control-Allow-Headers'] = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $value
|
||||
* @return $this
|
||||
*/
|
||||
public function withAccessControlRequestMethod($value): static
|
||||
{
|
||||
$this->headers['Access-Control-Request-Method'] = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $value
|
||||
* @return $this
|
||||
*/
|
||||
public function withAccessControlAllowOrigin($value): static
|
||||
{
|
||||
$this->headers['Access-Control-Allow-Origin'] = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ namespace Http\Route;
|
||||
|
||||
use Closure;
|
||||
use Exception;
|
||||
use Http\Context\Request;
|
||||
use Http\Context\Response;
|
||||
use Server\RequestInterface;
|
||||
|
||||
@@ -20,8 +19,6 @@ class CoreMiddleware extends MiddlewareAbstracts
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param RequestInterface $request
|
||||
* @param Closure $next
|
||||
@@ -32,9 +29,9 @@ class CoreMiddleware extends MiddlewareAbstracts
|
||||
{
|
||||
/** @var Response $response */
|
||||
$response = \response();
|
||||
$response->addHeader('Access-Control-Allow-Origin', '*');
|
||||
$response->addHeader('Access-Control-Allow-Headers', $request->getHeaderLine('Access-Control-Request-Headers'));
|
||||
$response->addHeader('Access-Control-Request-Method', $request->getHeaderLine('Access-Control-Request-Method'));
|
||||
$response->withAccessControlAllowOrigin($request->getUri()->getHost());
|
||||
$response->withAccessControlRequestMethod($request->getAccessControlRequestMethod());
|
||||
$response->withAccessControlAllowHeaders($request->getAccessControlRequestMethod());
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
@@ -4,9 +4,7 @@ namespace Server\Message;
|
||||
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
use Kiri\Core\Xml;
|
||||
use Kiri\Kiri;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
use ReflectionException;
|
||||
|
||||
|
||||
/**
|
||||
@@ -27,6 +25,9 @@ trait Message
|
||||
public array $servers = [];
|
||||
|
||||
|
||||
public array $cookies = [];
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@@ -36,6 +37,62 @@ trait Message
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $name
|
||||
* @param null $value
|
||||
* @param null $expires
|
||||
* @param null $path
|
||||
* @param null $domain
|
||||
* @param null $secure
|
||||
* @param null $httponly
|
||||
* @param null $samesite
|
||||
* @param null $priority
|
||||
* @return static
|
||||
*/
|
||||
public function withCookie($name, $value = null, $expires = null, $path = null, $domain = null, $secure = null, $httponly = null, $samesite = null, $priority = null): static
|
||||
{
|
||||
$class = clone $this;
|
||||
$class->cookies[$name] = [$value, $expires, $path, $domain, $secure, $httponly, $samesite, $priority];
|
||||
return $class;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getCookie(): array
|
||||
{
|
||||
return $this->cookies;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
#[Pure] public function getAccessControlAllowOrigin(): string
|
||||
{
|
||||
return $this->getHeaderLine('Access-Control-Allow-Origin');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
#[Pure] public function getAccessControlRequestHeaders(): string
|
||||
{
|
||||
return $this->getHeaderLine('Access-Control-Request-Headers');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
#[Pure] public function getAccessControlRequestMethod(): string
|
||||
{
|
||||
return $this->getHeaderLine('Access-Control-Request-Method');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $version
|
||||
* @return $this
|
||||
@@ -217,4 +274,32 @@ trait Message
|
||||
return $content;
|
||||
}
|
||||
|
||||
|
||||
public function redirectTo($host)
|
||||
{
|
||||
return $this->withHeader('Location', $host)
|
||||
->withStatus(302);
|
||||
}
|
||||
|
||||
|
||||
public function getStreamData()
|
||||
{
|
||||
$response = new \Swoole\Http\Response();
|
||||
$response->setStatusCode($this->statusCode);
|
||||
$response->setHeader('Run-Time', time());
|
||||
if (!empty($this->headers) && is_array($this->headers)) {
|
||||
foreach ($this->headers as $name => $values) {
|
||||
$response->setHeader($name, implode(';', $values));
|
||||
}
|
||||
$this->headers = [];
|
||||
}
|
||||
if (!empty($this->cookies) && is_array($this->cookies)) {
|
||||
foreach ($this->cookies as $name => $cookie) {
|
||||
$response->cookie($name, ...$cookie);
|
||||
}
|
||||
$this->cookies = [];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -50,4 +50,35 @@ class Response implements ResponseInterface
|
||||
// TODO: Implement getReasonPhrase() method.
|
||||
return $this->reasonPhrase;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $value
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
public function withAccessControlAllowHeaders($value): ResponseInterface
|
||||
{
|
||||
return $this->withHeader('Access-Control-Allow-Headers', $value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $value
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
public function withAccessControlRequestMethod($value): ResponseInterface
|
||||
{
|
||||
return $this->withHeader('Access-Control-Request-Method', $value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $value
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
public function withAccessControlAllowOrigin($value): ResponseInterface
|
||||
{
|
||||
return $this->withHeader('Access-Control-Allow-Origin', $value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user