Client.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace AlibabaCloud\Client\Clients;
  3. use AlibabaCloud\Client\Request\Request;
  4. use AlibabaCloud\Client\Traits\HttpTrait;
  5. use AlibabaCloud\Client\Traits\RegionTrait;
  6. use AlibabaCloud\Client\Credentials\StsCredential;
  7. use AlibabaCloud\Client\Signature\ShaHmac1Signature;
  8. use AlibabaCloud\Client\Signature\SignatureInterface;
  9. use AlibabaCloud\Client\Signature\ShaHmac256Signature;
  10. use AlibabaCloud\Client\Signature\BearerTokenSignature;
  11. use AlibabaCloud\Client\Credentials\AccessKeyCredential;
  12. use AlibabaCloud\Client\Credentials\CredentialsInterface;
  13. use AlibabaCloud\Client\Credentials\EcsRamRoleCredential;
  14. use AlibabaCloud\Client\Credentials\RamRoleArnCredential;
  15. use AlibabaCloud\Client\Credentials\RsaKeyPairCredential;
  16. use AlibabaCloud\Client\Credentials\BearerTokenCredential;
  17. use AlibabaCloud\Client\Signature\ShaHmac256WithRsaSignature;
  18. /**
  19. * Custom Client.
  20. *
  21. * @package AlibabaCloud\Client\Clients
  22. */
  23. class Client
  24. {
  25. use HttpTrait;
  26. use RegionTrait;
  27. use ManageTrait;
  28. /**
  29. * @var CredentialsInterface|AccessKeyCredential|BearerTokenCredential|StsCredential|EcsRamRoleCredential|RamRoleArnCredential|RsaKeyPairCredential
  30. */
  31. private $credential;
  32. /**
  33. * @var SignatureInterface
  34. */
  35. private $signature;
  36. /**
  37. * Self constructor.
  38. *
  39. * @param CredentialsInterface $credential
  40. * @param SignatureInterface $signature
  41. */
  42. public function __construct(CredentialsInterface $credential, SignatureInterface $signature)
  43. {
  44. $this->credential = $credential;
  45. $this->signature = $signature;
  46. $this->options['connect_timeout'] = Request::CONNECT_TIMEOUT;
  47. $this->options['timeout'] = Request::TIMEOUT;
  48. $this->options['verify'] = false;
  49. }
  50. /**
  51. * @return AccessKeyCredential|BearerTokenCredential|CredentialsInterface|EcsRamRoleCredential|RamRoleArnCredential|RsaKeyPairCredential|StsCredential
  52. */
  53. public function getCredential()
  54. {
  55. return $this->credential;
  56. }
  57. /**
  58. * @return SignatureInterface|BearerTokenSignature|ShaHmac1Signature|ShaHmac256Signature|ShaHmac256WithRsaSignature
  59. */
  60. public function getSignature()
  61. {
  62. return $this->signature;
  63. }
  64. }