Native and asynchronous
Starts work in OkHttp or URLSession and delivers results through NativePHP events.
Truly asynchronous HTTP requests, uploads, downloads, progress, retries, and cancellation on Android and iOS.
use Native\Mobile\Attributes\On;
use Victorycodedev\NativephpFetch\Events\FetchRequestCompleted;
use Victorycodedev\NativephpFetch\Facades\Fetch;
$request = Fetch::acceptJson()->timeout(30);
$this->requestId = $request->id();
$request->get('https://api.example.com/users');
#[On(FetchRequestCompleted::class)]
public function completed(string $requestId, int $status, array $headers, string $body): void
{
if ($requestId !== $this->requestId) {
return;
}
// Handle the response.
}Fetch returns a stable request ID immediately. The HTTP response arrives later through a NativePHP event.