Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Http Adapter

Http Adapter Laravel Package

widop/http-adapter

Widop HTTP Adapter provides a simple abstraction layer for making HTTP requests in PHP, letting you swap underlying clients (like cURL or other libraries) without changing your code. Useful for libraries and apps that need a lightweight, interchangeable HTTP client.

View on GitHub
Deep Wiki
Context7

Issue HTTP requests in PHP 5.3+.

Frequently asked questions about Http Adapter
Can I use widop/http-adapter in Laravel 8+ with PHP 8.x?
No, this package is designed for PHP 5.3+, but Laravel 8+ requires PHP 8.x. While you *could* use it, it’s not recommended—Laravel’s built-in HttpClient (Guzzle-based) or GuzzleHttp is the modern standard for performance and compatibility.
How do I integrate this into Laravel without breaking existing HTTP calls?
Wrap the adapter in a service class (e.g., `HttpAdapterClient`) and register it as a singleton in a Laravel service provider. Replace non-critical HTTP calls first, then gradually migrate to Laravel’s HttpClient or Guzzle.
Does this support Laravel’s middleware (e.g., Retry, Timeout) or PSR-18?
No, this package lacks Laravel-specific middleware and PSR-18 compliance. You’d need to implement retries/backoff manually or use a wrapper to bridge it with Laravel’s middleware system.
Why would I choose this over Laravel’s built-in HttpClient or Guzzle?
Use this for legacy PHP 5.3–7.0 environments where Guzzle isn’t available, or if you need a zero-dependency HTTP client. For modern Laravel apps, HttpClient or Guzzle are far superior in features and performance.
Is SSL verification enabled by default, and how do I configure it?
No, SSL verification is *not* enabled by default. You must manually enable it via the adapter’s configuration (e.g., `HttpAdapter::setOption(CURLOPT_SSL_VERIFYPEER, true)` for cURL). Always verify SSL in production.
Can I use this for high-throughput APIs (e.g., 10K+ requests per second)?
No, this is a lightweight abstraction but not optimized for high throughput. For performance-critical APIs, use Guzzle, ReactPHP, or Swoole instead—they’re designed for concurrent and async requests.
How do I handle authentication (e.g., OAuth1, Basic Auth) with this package?
The adapter supports Basic Auth and OAuth1 via its `setAuth()` method. For OAuth1, pass the consumer key, secret, and token parameters. Example: `$adapter->setAuth('user', 'pass', 'oauth1', ['key' => '...', 'secret' => '...'])`.
What’s the maintenance status of this package? Will it break when PHP 5.3 is unsupported?
The package is MIT-licensed but has low activity (21 stars, no recent commits). PHP 5.3 is EOL, so using this may block Laravel upgrades. Plan to migrate to Laravel’s HttpClient or Guzzle once PHP 5.3 is dropped.
Does this work with Laravel’s queue system or async jobs?
No, this package doesn’t support async requests or Laravel queues. If you need async HTTP calls, use Guzzle with ReactPHP or Laravel’s queue system with a dedicated HTTP job.
Are there alternatives for Laravel that support PHP 5.3+ with better features?
Yes, consider **GuzzleHttp** (if PHP 5.5+) or **Buzz** (PHP 5.3+), though neither is Laravel-native. For Laravel-specific solutions, stick to the built-in HttpClient (PHP 7.2+) or downgrade to Laravel 5.7 with Guzzle 6.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky