Weave 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

Laravel Httplug Laravel Package

php-http/laravel-httplug

Laravel integration for HTTPlug that wires PSR-7/PSR-18 HTTP clients into the service container, provides package configuration and convenient Laravel access, and lets apps use interchangeable HTTPlug adapters for outbound HTTP requests.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

Build vs. buy on HTTP plumbing — and here the answer flips to "build." This package's entire surface area is a Laravel service provider plus a config file that binds an HTTPlug client, message factory, and plugin chain into the container. A staff engineer can reproduce it in roughly 30–60 lines. That is a strong signal that adopting a third-party bridge for a container binding adds dependency risk with no defensible product value.

Standardization decision: HTTPlug vs. PSR-18. HTTPlug was the pre-standard HTTP client abstraction; PSR-18 (psr/http-client) superseded it. Adopting this package would anchor new work to an abstraction the ecosystem has moved past. This is directly relevant to a roadmap item like "consolidate our outbound HTTP layer," and it argues for standardizing on PSR-18 + Symfony HttpClient or Guzzle 7 instead.

Third-party HTTP middleware strategy. The one genuine capability the HTTPlug ecosystem offers is a plugin chain — retries, logging, circuit breaking, auth headers — composed declaratively. If that's a product requirement (e.g., resilient webhook delivery, rate-limit-aware third-party integrations), the decision is whether to buy that capability via a plugin ecosystem or implement it. Modern answer: PSR-18 decorators or Laravel's own Http client middleware, not this package.

Legacy modernization sequencing. If this package appears in a dependency audit, it dates the codebase to Laravel 5.x / PHP 7.x. That's a concrete input to a platform-upgrade roadmap, not a feature decision — it tells you where the migration budget goes.

Evaluating "small utility" dependencies generally. 12 stars, last release August 2016, a composite score near 1.5 — this is a useful calibration case for a dependency policy: single-maintainer, unmaintained, sub-100-star packages get a default-reject unless they're trivially forkable or purely internal.

When to Consider This Package

Consider it only under a narrow, and likely shrinking, set of conditions:

  • You are maintaining an existing Laravel 5.x application (roughly 5.1–5.4) on PHP 5.6–7.1 that already depends on php-http/httplug transitively through another library, and you need container-resolved client injection for a short window before migration.
  • You need HTTPlug's plugin interface specifically — for example, an existing php-http/client-common retry or logger plugin you cannot yet replace — and you want to avoid writing the service provider yourself.
  • You are doing a spike or proof-of-concept and will discard the code.

Look elsewhere — decisively — if any of the following hold:

  • Laravel 6 or later, or PHP 8+. No release since August 2016 means no support for framework versions, auto-discovery changes, or language features shipped since. Expect Composer conflicts on Laravel's illuminate/support constraint and on modern Guzzle.
  • Security or compliance posture matters. An unmaintained package cannot receive patches; its transitive dependency tree is a standing supply-chain and CVE exposure. This alone is disqualifying for regulated or customer-facing systems.
  • You are starting greenfield. Bind a PSR-18 client in a service provider, or use Laravel's Http facade. Both are supported, documented, and maintained.
  • You want a maintained dependency with a support path. Twelve stars and no commits in nearly a decade means no vendor, no community, no issue triage.
  • You need observability integration with current tooling (OpenTelemetry, structured request logging via current Laravel features) — none of that exists here.

If you must keep it temporarily, treat it as technical debt with a named owner and a removal date, and pin the lockfile.

How to Pitch It (Stakeholders)

For executives: This is a low-value, unmaintained utility that binds an HTTP client into Laravel's dependency injection container — functionality our engineers can write and own in under a day. Its last release was in 2016, it has minimal community adoption, and it depends on an HTTP abstraction (HTTPlug) that the PHP ecosystem has since replaced with the PSR-18 standard. Recommendation: do not adopt for new work; if it exists in our stack, schedule removal as part of the platform upgrade rather than budgeting for it as a strategic component. The cost of replacing it is measured in hours, not sprints.

For engineering: The package is a service provider and a config file. It buys us container-resolved HTTPlug clients with a plugin chain, and it buys us a 2016-era constraint on illuminate/support and Guzzle. We can reproduce the useful 10% with a PSR-18 binding plus our own middleware, keep first-party ownership, and get PHP 8 and current Laravel support for free. Where we genuinely need retry/logging/circuit-breaking behavior, implement it as PSR-18 decorators or Laravel HTTP client middleware so it is testable and observable with our current tooling.

Positioning and risk, stated plainly: This is not a strategic dependency and should not be presented as one. It is a convenience wrapper that has been abandoned; the risk is inherited CVE exposure and blocked framework upgrades, and the upside is a few dozen lines of code we would rather own. Frame the recommendation as consolidation and risk reduction, with a concrete migration ticket and an owner, rather than as a build-versus-buy debate.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource