This commit is contained in:
2021-08-26 18:27:20 +08:00
parent 0444627e09
commit 6bb25e0ffd
+47 -48
View File
@@ -5,10 +5,9 @@ namespace Server\Constrict;
use Http\Context\Context; use Http\Context\Context;
use Http\Context\Request as HttpResponse; use Http\Context\Request as HttpResponse;
use Http\Context\Response; use Http\Context\Response;
use Kiri\Kiri;
use ReflectionException; use ReflectionException;
use Server\RequestInterface; use Server\RequestInterface;
use Kiri\Exception\NotFindClassException;
use Kiri\Kiri;
/** /**
@@ -18,61 +17,61 @@ class Request implements RequestInterface
{ {
/** /**
* @param $name * @param $name
* @param $args * @param $args
* @return mixed * @return mixed
*/ */
public function __call($name, $args) public function __call($name, $args)
{ {
if (!Context::hasContext(HttpResponse::class)) { if (!Context::hasContext(HttpResponse::class)) {
$request = Context::setContext(HttpResponse::class, new HttpResponse()); $request = Context::setContext(HttpResponse::class, new HttpResponse());
} else { } else {
$request = Context::getContext(HttpResponse::class); $request = Context::getContext(HttpResponse::class);
} }
if (property_exists($request, $name)) { if (property_exists($request, $name)) {
return $request->{$name}; return $request->{$name};
} }
return $request->{$name}(...$args); return $request->{$name}(...$args);
} }
/** /**
* @param $name * @param $name
* @return mixed * @return mixed
*/ */
public function __get($name): mixed public function __get($name): mixed
{ {
// TODO: Change the autogenerated stub // TODO: Change the autogenerated stub
return Context::getContext(HttpResponse::class)->{$name}; return Context::getContext(HttpResponse::class)->{$name};
} }
/** /**
* @param \Swoole\Http\Request $request * @param \Swoole\Http\Request $request
* @return Request * @return Request
* @throws ReflectionException * @throws ReflectionException
*/ */
public static function create(\Swoole\Http\Request $request): RequestInterface public static function create(\Swoole\Http\Request $request): RequestInterface
{ {
Context::setContext(Response::class, new Response()); Context::setContext(Response::class, new Response());
$sRequest = new HttpResponse(); $sRequest = new HttpResponse();
var_dump($request->getData()); var_dump($request->getData(), $request->header);
$sRequest->setHeaders(array_merge($request->header, $request->server)); $sRequest->setHeaders(array_merge($request->header, $request->server));
$sRequest->setUri($sRequest->getRequestUri()); $sRequest->setUri($sRequest->getRequestUri());
$sRequest->setClientId($request->fd); $sRequest->setClientId($request->fd);
$sRequest->setRawContent($request->rawContent(), $sRequest->getContentType()); $sRequest->setRawContent($request->rawContent(), $sRequest->getContentType());
$sRequest->setFiles($request->files ?? []); $sRequest->setFiles($request->files ?? []);
$sRequest->setPosts($request->post ?? []); $sRequest->setPosts($request->post ?? []);
$sRequest->setGets($request->get ?? []); $sRequest->setGets($request->get ?? []);
Context::setContext(HttpResponse::class, $sRequest); Context::setContext(HttpResponse::class, $sRequest);
return Kiri::getDi()->get(Request::class); return Kiri::getDi()->get(Request::class);
} }
} }