-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
19 changed files
with
176 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
<?php declare(strict_types=1); | ||
/* | ||
* Copyright (c) 2023-2024. | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in all | ||
* copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
* SOFTWARE. | ||
* | ||
* 特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人,不受限制地处理 | ||
* 本软件,包括但不限于使用、复制、修改、合并、出版、发行、再许可和/或销售 | ||
* 软件副本的权利,并允许向其提供本软件的人做出上述行为,但须符合以下条件: | ||
* | ||
* 上述版权声明和本许可声明应包含在本软件的所有副本或主要部分中。 | ||
* | ||
* 本软件按“原样”提供,不提供任何形式的保证,无论是明示或暗示的, | ||
* 包括但不限于适销性、特定目的的适用性和非侵权性的保证。在任何情况下, | ||
* 无论是合同诉讼、侵权行为还是其他方面,作者或版权持有人均不对 | ||
* 由于软件或软件的使用或其他交易而引起的任何索赔、损害或其他责任承担责任。 | ||
*/ | ||
|
||
namespace Ripple\Http; | ||
|
||
use GuzzleHttp\Client; | ||
use Ripple\Http\Guzzle\RippleHandler; | ||
|
||
use function array_merge; | ||
|
||
use const PHP_SAPI; | ||
|
||
/** | ||
* @Author cclilshy | ||
* @Date 2024/8/16 09:37 | ||
*/ | ||
class Guzzle | ||
{ | ||
/*** @var Guzzle */ | ||
protected static Guzzle $instance; | ||
|
||
/*** @var RippleHandler */ | ||
protected RippleHandler $rippleHandler; | ||
|
||
/** | ||
* | ||
*/ | ||
protected function __construct() | ||
{ | ||
$config = []; | ||
$httpClient = new \Ripple\Http\Client(array_merge(['pool' => PHP_SAPI === 'cli'], $config)); | ||
$this->rippleHandler = new RippleHandler($httpClient); | ||
} | ||
|
||
/*** @return Guzzle */ | ||
public static function getInstance(): Guzzle | ||
{ | ||
if (!isset(self::$instance)) { | ||
self::$instance = new self(); | ||
} | ||
return self::$instance; | ||
} | ||
|
||
/** | ||
* @Author cclilshy | ||
* @Date 2024/8/31 14:28 | ||
* @return RippleHandler | ||
*/ | ||
public function getHandler(): RippleHandler | ||
{ | ||
return $this->rippleHandler; | ||
} | ||
|
||
/** | ||
* @return \Ripple\Http\Client | ||
*/ | ||
public function getHttpClient(): \Ripple\Http\Client | ||
{ | ||
return $this->getHandler()->getHttpClient(); | ||
} | ||
|
||
/** | ||
* @param array $config | ||
* | ||
* @return \GuzzleHttp\Client | ||
*/ | ||
public static function newClient(array $config = []): Client | ||
{ | ||
return new Client(array_merge(['handler' => self::getInstance()->getHandler()], $config)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.