function afterFilterHandler($request, stdClass $context)
{
if ($this->async) {
$self = $this;
return $this->sendAndReceive($request, $context)->catchError(function ($e) use($self, $request, $context) {
$response = $self->retry($request, $context);
if ($response !== null) {
return $response;
}
throw $e;
});
}
$error = null;
try {
$response = $this->sendAndReceive($request, $context);
} catch (Exception $e) {
$error = $e;
} catch (Throwable $e) {
$error = $e;
}
if ($error !== null) {
$response = $this->retry($request, $context);
if ($response !== null) {
return $response;
}
throw $error;
}
return $response;
}