改名
This commit is contained in:
@@ -16,6 +16,18 @@ namespace HttpServer\Http;
|
||||
class HttpHeaders
|
||||
{
|
||||
|
||||
private array $_headers = [];
|
||||
|
||||
|
||||
/**
|
||||
* @param array $headers
|
||||
*/
|
||||
public function setHeaders(array $headers): void
|
||||
{
|
||||
$this->_headers = $headers;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
@@ -111,12 +123,11 @@ class HttpHeaders
|
||||
*/
|
||||
private function __handler__($name = null, $default = null): mixed
|
||||
{
|
||||
/** @var \Swoole\Http\Request $context */
|
||||
$context = Context::getContext(\Swoole\Http\Request::class);
|
||||
$headers = Context::getContext(Request::class);
|
||||
if (!empty($name)) {
|
||||
return $context->header[$name] ?? $default;
|
||||
return $headers->_headers[$name] ?? $default;
|
||||
}
|
||||
return $context->header;
|
||||
return $headers->_headers;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ namespace HttpServer\Http;
|
||||
|
||||
use Exception;
|
||||
use HttpServer\Exception\RequestException;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
use ReflectionException;
|
||||
use Snowflake\Core\Json;
|
||||
use Snowflake\Core\Xml;
|
||||
@@ -36,6 +35,47 @@ class HttpParams
|
||||
/** @var array|null */
|
||||
private ?array $_files = [];
|
||||
|
||||
|
||||
private mixed $_rawContent = '';
|
||||
|
||||
/**
|
||||
* @param array|null $gets
|
||||
*/
|
||||
public function setGets(?array $gets): void
|
||||
{
|
||||
$this->_gets = $gets;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $posts
|
||||
*/
|
||||
public function setPosts(mixed $posts): void
|
||||
{
|
||||
$this->_posts = $posts;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array|null $files
|
||||
*/
|
||||
public function setFiles(?array $files): void
|
||||
{
|
||||
$this->_files = $files;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed|string $rawContent
|
||||
*/
|
||||
public function setRawContent(mixed $rawContent, string $context_type): void
|
||||
{
|
||||
if (str_contains($context_type, 'json')) {
|
||||
$this->_rawContent = json_decode($rawContent, true);
|
||||
} else if (str_contains($context_type, 'xml')) {
|
||||
$this->_rawContent = Xml::toArray($rawContent);
|
||||
} else {
|
||||
$this->_rawContent = $rawContent;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
@@ -414,10 +454,10 @@ class HttpParams
|
||||
*/
|
||||
private function __files__($name = null): mixed
|
||||
{
|
||||
/** @var \Swoole\Http\Request $content */
|
||||
$content = Context::getContext(\Swoole\Http\Request::class);
|
||||
/** @var Request $content */
|
||||
$content = Context::getContext(Request::class);
|
||||
if (!empty($name)) {
|
||||
return $content->files[$name] ?? null;
|
||||
return $content->_f[$name] ?? null;
|
||||
}
|
||||
return $content->files ?? [];
|
||||
}
|
||||
|
||||
+31
-30
@@ -8,9 +8,9 @@ use Exception;
|
||||
use HttpServer\Abstracts\HttpService;
|
||||
use HttpServer\IInterface\AuthIdentity;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
use Server\RequestInterface;
|
||||
use Server\ServerManager;
|
||||
use Snowflake\Core\Json;
|
||||
use Snowflake\Snowflake;
|
||||
|
||||
defined('REQUEST_OK') or define('REQUEST_OK', 0);
|
||||
defined('REQUEST_FAIL') or define('REQUEST_FAIL', 500);
|
||||
@@ -30,7 +30,7 @@ defined('REQUEST_FAIL') or define('REQUEST_FAIL', 500);
|
||||
* @property-read $isPackage
|
||||
* @property-read $isReceive
|
||||
*/
|
||||
class Request extends HttpService
|
||||
class Request extends HttpService implements RequestInterface
|
||||
{
|
||||
|
||||
public int $fd = 0;
|
||||
@@ -56,6 +56,8 @@ class Request extends HttpService
|
||||
|
||||
public int $statusCode = 200;
|
||||
|
||||
private int $_clientId = 0;
|
||||
|
||||
/** @var string[] */
|
||||
private array $explode = [];
|
||||
|
||||
@@ -74,6 +76,26 @@ class Request extends HttpService
|
||||
private ?AuthIdentity $_grant = null;
|
||||
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
*/
|
||||
public function setClientId($id)
|
||||
{
|
||||
$this->_clientId = $id;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $request_uri
|
||||
*/
|
||||
public function setUri(string $request_uri)
|
||||
{
|
||||
$request_uri = array_filter(explode('/', $request_uri));
|
||||
|
||||
$this->_explode = $request_uri;
|
||||
$this->_uri = '/' . implode('/', $request_uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array|null
|
||||
* @throws Exception
|
||||
@@ -100,9 +122,7 @@ class Request extends HttpService
|
||||
*/
|
||||
public function getClientId(): int
|
||||
{
|
||||
$request = Context::getContext(\Swoole\Http\Request::class);
|
||||
|
||||
return $request->fd ?? 0;
|
||||
return $this->_clientId ?? 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -119,8 +139,7 @@ class Request extends HttpService
|
||||
*/
|
||||
public function getIdentity(): ?AuthIdentity
|
||||
{
|
||||
$request = Context::getContext(\Swoole\Http\Request::class);
|
||||
return $request->grant;
|
||||
return $this->_grant;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -176,8 +195,7 @@ class Request extends HttpService
|
||||
*/
|
||||
public function setGrantAuthorization($value)
|
||||
{
|
||||
$request = Context::getContext(\Swoole\Http\Request::class);
|
||||
return $request->grant = $value;
|
||||
return $this->_grant = $value;
|
||||
}
|
||||
|
||||
|
||||
@@ -195,7 +213,7 @@ class Request extends HttpService
|
||||
*/
|
||||
public function getExplode(): array
|
||||
{
|
||||
return Context::getContext(\Swoole\Http\Request::class)->explode;
|
||||
return $this->_explode;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -212,7 +230,7 @@ class Request extends HttpService
|
||||
*/
|
||||
public function getUri(): string
|
||||
{
|
||||
return $this->headers->getRequestUri();
|
||||
return $this->_uri;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -417,25 +435,8 @@ class Request extends HttpService
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param \Swoole\Http\Request $request
|
||||
* @return Request
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function create(\Swoole\Http\Request $request): Request
|
||||
{
|
||||
$request->header = array_merge($request->header, $request->server);
|
||||
|
||||
$request_uri = array_filter(explode('/', $request->header['request_uri']));
|
||||
$request->header['request_uri'] = '/' . implode('/', $request_uri);
|
||||
$request->explode = $request_uri;
|
||||
|
||||
Context::setContext(\Swoole\Http\Request::class, $request);
|
||||
|
||||
Context::setContext(Response::class, new Response());
|
||||
|
||||
return Snowflake::getDi()->get(Request::class);
|
||||
}
|
||||
private array $_explode = [];
|
||||
private string $_uri = '';
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user