Start of migration to amphp/http-client 5.0
This commit is contained in:
parent
b0a16e7730
commit
1ad4427584
@ -30,7 +30,7 @@
|
||||
"lock": false
|
||||
},
|
||||
"require": {
|
||||
"amphp/http-client": "^4.5.0",
|
||||
"amphp/http-client": "^v5.0.0",
|
||||
"aura/html": "^2.5.0",
|
||||
"aura/router": "3.2.0",
|
||||
"aura/session": "^2.1.0",
|
||||
@ -47,7 +47,7 @@
|
||||
"maximebf/consolekit": "^1.0.3",
|
||||
"monolog/monolog": "^3.0.0",
|
||||
"php": ">= 8.2.0",
|
||||
"psr/http-message": "^1.0.1",
|
||||
"psr/http-message": "^1.0.1 || ^2.0.0",
|
||||
"symfony/polyfill-mbstring": "^1.0.0",
|
||||
"symfony/polyfill-util": "^1.0.0",
|
||||
"tracy/tracy": "^2.8.0",
|
||||
|
@ -14,6 +14,7 @@
|
||||
|
||||
namespace Aviat\AnimeClient;
|
||||
|
||||
use Amp\Future;
|
||||
use Amp\Http\Client\{HttpClient, HttpClientBuilder, Request, Response};
|
||||
|
||||
use Aviat\Ion\{ConfigInterface, ImageBuilder};
|
||||
@ -23,7 +24,7 @@ use Throwable;
|
||||
|
||||
use Yosymfony\Toml\{Toml, TomlBuilder};
|
||||
|
||||
use function Amp\Promise\wait;
|
||||
use function Amp\async;
|
||||
use function Aviat\Ion\_dir;
|
||||
|
||||
const SECONDS_IN_MINUTE = 60;
|
||||
@ -210,7 +211,11 @@ function getResponse(Request|string $request): Response
|
||||
$request = new Request($request);
|
||||
}
|
||||
|
||||
return wait($client->request($request));
|
||||
$future = async(fn () => $client->request($request));
|
||||
|
||||
[$response] = Future\await([$future]);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -14,17 +14,16 @@
|
||||
|
||||
namespace Aviat\AnimeClient\API;
|
||||
|
||||
// use Amp\Http\Client\Form;
|
||||
use Amp\Http\Client\Body\FormBody;
|
||||
use Amp\Future;
|
||||
use Amp\Http\Client\Form;
|
||||
use Amp\Http\Client\{HttpClientBuilder, HttpException, Request};
|
||||
use Aviat\Ion\Json;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use Psr\Log\LoggerAwareTrait;
|
||||
use Throwable;
|
||||
// use function Amp\async;
|
||||
// use function Amp\Future\await;
|
||||
use function Amp\Promise\wait;
|
||||
|
||||
use function Amp\async;
|
||||
use function Aviat\AnimeClient\getResponse;
|
||||
use const Aviat\AnimeClient\USER_AGENT;
|
||||
|
||||
@ -110,7 +109,7 @@ abstract class APIRequestBuilder
|
||||
/**
|
||||
* Set the request body
|
||||
*/
|
||||
public function setBody(FormBody|string $body): self
|
||||
public function setBody(Form|string $body): self
|
||||
{
|
||||
$this->request->setBody($body);
|
||||
|
||||
@ -124,8 +123,9 @@ abstract class APIRequestBuilder
|
||||
*/
|
||||
public function setFormFields(array $fields): self
|
||||
{
|
||||
$body = new FormBody();
|
||||
$body->addFields($fields);
|
||||
$body = new Form;
|
||||
|
||||
array_walk($fields, fn ($content, $name) => $body->addField($name, $content));
|
||||
|
||||
return $this->setBody($body);
|
||||
}
|
||||
@ -145,7 +145,12 @@ abstract class APIRequestBuilder
|
||||
*/
|
||||
public function setHeader(string $name, ?string $value = NULL): self
|
||||
{
|
||||
if (NULL === $value)
|
||||
if ($name === '')
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
if ($value === NULL)
|
||||
{
|
||||
$this->unsetHeader($name);
|
||||
}
|
||||
@ -164,10 +169,7 @@ abstract class APIRequestBuilder
|
||||
*/
|
||||
public function setHeaders(array $headers): self
|
||||
{
|
||||
foreach ($headers as $name => $value)
|
||||
{
|
||||
$this->setHeader($name, $value);
|
||||
}
|
||||
array_walk($headers, fn ($value, $name) => $this->setHeader($name, $value));
|
||||
|
||||
return $this;
|
||||
}
|
||||
@ -206,11 +208,9 @@ abstract class APIRequestBuilder
|
||||
$this->logger?->debug('API Request', [
|
||||
'request_url' => $this->request->getUri(),
|
||||
'request_headers' => $this->request->getHeaders(),
|
||||
'request_body' => wait(
|
||||
$this->request->getBody()
|
||||
->createBodyStream()
|
||||
->read()
|
||||
),
|
||||
'request_body' => $this->request->getBody()
|
||||
->getContent()
|
||||
->read(),
|
||||
]);
|
||||
|
||||
return $this->request;
|
||||
@ -225,7 +225,7 @@ abstract class APIRequestBuilder
|
||||
{
|
||||
$response = getResponse($request);
|
||||
|
||||
return wait($response->getBody()->buffer());
|
||||
return $response->getBody()->buffer();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -15,6 +15,7 @@
|
||||
namespace Aviat\AnimeClient\API\Kitsu;
|
||||
|
||||
use Amp;
|
||||
use Amp\Future;
|
||||
use Aviat\AnimeClient\API\Kitsu\Transformer\{
|
||||
AnimeHistoryTransformer,
|
||||
AnimeListTransformer,
|
||||
@ -40,7 +41,6 @@ use Aviat\Ion\{
|
||||
Json
|
||||
};
|
||||
use Generator;
|
||||
use function Amp\Promise\wait;
|
||||
use function Aviat\AnimeClient\getApiClient;
|
||||
use const Aviat\AnimeClient\SESSION_SEGMENT;
|
||||
|
||||
@ -87,7 +87,7 @@ final class Model
|
||||
'password' => $password,
|
||||
],
|
||||
]);
|
||||
$data = Json::decode(wait($response->getBody()->buffer()));
|
||||
$data = Json::decode($response->getBody()->buffer());
|
||||
|
||||
if (array_key_exists('error', $data))
|
||||
{
|
||||
@ -124,7 +124,7 @@ final class Model
|
||||
'refresh_token' => $token,
|
||||
],
|
||||
]);
|
||||
$data = Json::decode(wait($response->getBody()->buffer()));
|
||||
$data = Json::decode($response->getBody()->buffer());
|
||||
|
||||
if (array_key_exists('error', $data))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user