first commit
This commit is contained in:
79
lib/Service/Std/StdClientBuilder.php
Normal file
79
lib/Service/Std/StdClientBuilder.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace Yeepay\Yop\Sdk\Service\Std;
|
||||
|
||||
use Yeepay\Yop\Sdk\Auth\AuthorityReqRegistryImpl;
|
||||
use Yeepay\Yop\Sdk\Auth\AuthorizationReqRegistry;
|
||||
use Yeepay\Yop\Sdk\Auth\AuthorizationReqSupport;
|
||||
use Yeepay\Yop\Sdk\Client\ClientParams;
|
||||
use Yeepay\Yop\Sdk\Client\Support\ClientParamsSupport;
|
||||
use Yeepay\Yop\Sdk\Config\AppSdkConfig;
|
||||
use Yeepay\Yop\Sdk\Config\AppSdkConfigProvider;
|
||||
use Yeepay\Yop\Sdk\Config\DefaultAppSdkConfigProvider;
|
||||
use Yeepay\Yop\Sdk\Exception\YopClientException;
|
||||
|
||||
class StdClientBuilder
|
||||
{
|
||||
|
||||
/**
|
||||
* @var AuthorizationReqRegistry
|
||||
*/
|
||||
private static $authorizationReqRegistry;
|
||||
|
||||
public static function __init()
|
||||
{
|
||||
self::$authorizationReqRegistry = new AuthorityReqRegistryImpl();
|
||||
self::$authorizationReqRegistry->register('billDividedaydownload',
|
||||
AuthorizationReqSupport::getAuthorizationReq('YOP-RSA2048-SHA256'));
|
||||
self::$authorizationReqRegistry->register('billFundbillApply',
|
||||
AuthorizationReqSupport::getAuthorizationReq('YOP-RSA2048-SHA256'));
|
||||
self::$authorizationReqRegistry->register('billFundbillDownload',
|
||||
AuthorizationReqSupport::getAuthorizationReq('YOP-RSA2048-SHA256'));
|
||||
self::$authorizationReqRegistry->register('billTradedaydownload',
|
||||
AuthorizationReqSupport::getAuthorizationReq('YOP-RSA2048-SHA256'));
|
||||
self::$authorizationReqRegistry->register('tradeOrder',
|
||||
AuthorizationReqSupport::getAuthorizationReq('YOP-RSA2048-SHA256'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @var ClientParams
|
||||
*/
|
||||
private $clientParams;
|
||||
|
||||
/**
|
||||
* StdClientBuilder constructor.
|
||||
* @param ClientParams $clientParams
|
||||
*/
|
||||
public function __construct(ClientParams $clientParams)
|
||||
{
|
||||
$this->clientParams = $clientParams;
|
||||
}
|
||||
|
||||
public function build()
|
||||
{
|
||||
return new StdClient($this->clientParams);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $config AppSdkConfig|array|AppSdkConfigProvider
|
||||
* @return StdClientBuilder
|
||||
* @throws YopClientException
|
||||
*/
|
||||
public static function builder($config)
|
||||
{
|
||||
$appSdkConfigProvider = null;
|
||||
if ($config instanceof AppSdkConfigProvider) {
|
||||
$appSdkConfigProvider = $config;
|
||||
} else {
|
||||
$appSdkConfigProvider = new DefaultAppSdkConfigProvider($config);
|
||||
}
|
||||
$clientParams = ClientParamsSupport::generateClientParams($appSdkConfigProvider);
|
||||
$clientParams->setAuthorizationReqRegistry(self::$authorizationReqRegistry);
|
||||
|
||||
return new StdClientBuilder($clientParams);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
StdClientBuilder::__init();
|
||||
Reference in New Issue
Block a user