This commit is contained in:
2020-11-16 13:46:24 +08:00
parent ce668251fc
commit a088b6f9c5
2 changed files with 18 additions and 7 deletions
+13 -4
View File
@@ -5,6 +5,7 @@ namespace HttpServer\Client;
use Snowflake\Abstracts\Component; use Snowflake\Abstracts\Component;
use Swoole\Coroutine;
/** /**
@@ -14,9 +15,17 @@ use Snowflake\Abstracts\Component;
class ClientDriver extends Component class ClientDriver extends Component
{ {
public function __call($name) /**
{ * @param $name
* @return IClient
} */
public function __call($name): IClient
{
if (Coroutine::getCid() > 0) {
return Client::NewRequest();
} else {
return Curl::NewRequest();
}
}
} }
+4 -2
View File
@@ -12,8 +12,10 @@ namespace Snowflake\Abstracts;
use Exception; use Exception;
use HttpServer\Client\Client; use HttpServer\Client\Client;
use HttpServer\Client\ClientDriver;
use HttpServer\Client\Curl; use HttpServer\Client\Curl;
use HttpServer\Client\Http2; use HttpServer\Client\Http2;
use HttpServer\Client\IClient;
use HttpServer\Http\Request; use HttpServer\Http\Request;
use HttpServer\Http\Response; use HttpServer\Http\Response;
use HttpServer\Route\Router; use HttpServer\Route\Router;
@@ -50,7 +52,7 @@ use Database\DatabasesProviders;
* @property Logger $logger * @property Logger $logger
* @property Jwt $jwt * @property Jwt $jwt
* @property BaseGoto $goto * @property BaseGoto $goto
* @property Client $client * @property IClient $client
* @property Producer $kafka * @property Producer $kafka
*/ */
abstract class BaseApplication extends Service abstract class BaseApplication extends Service
@@ -379,7 +381,7 @@ abstract class BaseApplication extends Service
'error' => ['class' => ErrorHandler::class], 'error' => ['class' => ErrorHandler::class],
'event' => ['class' => Event::class], 'event' => ['class' => Event::class],
'annotation' => ['class' => Annotation::class], 'annotation' => ['class' => Annotation::class],
'client' => ['class' => Client::class], 'client' => ['class' => ClientDriver::class],
'connections' => ['class' => Connection::class], 'connections' => ['class' => Connection::class],
'redis_connections' => ['class' => SRedis::class], 'redis_connections' => ['class' => SRedis::class],
'pool' => ['class' => SPool::class], 'pool' => ['class' => SPool::class],