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

Nghttpbundle Laravel Package

pulpmedia/nghttpbundle

pulpmedia/nghttpbundle is a Symfony bundle for NG HTTP integration, providing configuration and service wiring that simplifies HTTP-related tasks in your application. It follows Symfony conventions, installs via Composer, and helps keep HTTP concerns organized and reusable across projects.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The package is a Symfony bundle, not a Laravel package — a first-order mismatch with the stated target stack. Its structure (PulpmediaNgHttpBundle + DependencyInjection/PulpmediaNgHttpExtension + Resources/public JS) is designed to be auto-registered into a Symfony kernel via the bundle system; Laravel has no equivalent container or bundle-discovery mechanism, so it cannot be installed or booted in a Laravel application without rewriting it as a service provider plus a Blade partial. Secondly, the frontend target is AngularJS 1.x ($http, $httpProvider interceptors), which reached end-of-life in December 2021 and shares no API surface with modern Angular (HttpClient). The package therefore fails on both axes: wrong PHP framework and wrong frontend generation.

Integration feasibility. Zero. composer require pulpmedia/nghttpbundle into a Laravel app would at best install inert files; at worst it would fatal on Symfony-era class references. The functionality it appears to provide — making AngularJS calls carry Symfony's CSRF token / session context on same-origin $http requests — is roughly 30 lines of glue: a meta tag or bootstrap JSON payload rendered server-side, plus a default-header interceptor on the client. Laravel already ships this pattern out of the box in resources/js/bootstrap.js via Axios and the X-CSRF-TOKEN / X-Requested-With headers, so the value proposition is already covered natively.

Technical risk. Low blast radius, high dead-weight risk. Stars (0), dependents (0), and the Symfony 2-era conventions point to an abandoned 2015-era artifact with a bus factor of one and no visible CI, tests, or release history. The security surface is small (a JS asset and a DI config), so CVE exposure is unlikely — but "unmaintained" here means "you are the maintainer from the moment you fork it." The MIT license is permissive, so forking is legally clean, which is the package's only real asset. The dominant risk is organizational: adopting an EOL bundle to serve an EOL frontend framework entrenches two dead technologies in one decision.

Key questions.

  • What exactly does the bundle do — CSRF header injection only, or also route/URL generation and config injection into the Angular layer?
  • Which Symfony and AngularJS versions were targeted, and does any 2.x/3.x-era API (%kernel.root_dir%, @service notation, bundle inheritance) appear?
  • Are there tests, and is the JS asset a build artifact or hand-written?
  • Is there any live Symfony + AngularJS application in our estate that this would actually serve, or is this speculative?
  • If only the CSRF pattern is wanted, what is the cost of reproducing it in-house versus forking?

Integration Approach

Stack fit. Treat this as a pattern reference, not a dependency. The correct Laravel-native equivalent is: render <meta name="csrf-token" content="{{ csrf_token() }}"> in the layout, set window.axios.defaults.headers.common['X-CSRF-TOKEN'] in bootstrap.js, and — for a modern Angular frontend — configure an HttpInterceptor to read the same meta tag. That reproduces the bundle's intent with zero third-party surface and first-class framework support.

Migration path. Do not install the package. Two scenarios:

  • Greenfield Laravel + modern Angular: no migration needed; implement the interceptor pattern above. Effort: under one day including tests.
  • Legacy Symfony 2.x + AngularJS 1.x in production: extract the bundle's JS asset and configuration semantics into the application's own Resources/public or asset pipeline, replace the bundle's DI wiring with an explicit controller or Twig extension that emits the bootstrap config, then remove the bundle from composer.json. This is a lift-and-shift of behavior, not a fork of the codebase.

Compatibility. Frontend: AngularJS 1.x only; incompatible with Angular 2+ by construction. Backend: Symfony 2.x-era service definitions and bundle conventions break on Symfony 4+ (bundle inheritance removed, service syntax changed) and on Symfony 5+/6+ (legacy autoloading, Resources/public asset handling replaced by AssetMapper/Webpack Encore). PHP version floor is likely 5.x, which is itself out of security support. There is no Laravel compatibility tier at all.

Sequencing.

  1. Confirm the actual requirement — CSRF propagation, route generation, or both — with the team that surfaced the package.
  2. Re-implement the requirement in-stack (Laravel meta tag + Axios defaults; Angular HttpInterceptor if applicable). One to two days.
  3. Add regression tests asserting the token header is present on state-changing requests and rotates correctly on session refresh.
  4. Document the pattern so it does not get re-litigated as a "buy vs. build" question.
  5. If a legacy Symfony instance genuinely needs the bundle's behavior in place, port the JS asset only, pin the version, and record it on the tech-debt register with a retirement date.

Operational Impact

Maintenance. Effectively infinite-tailed. Upstream is dormant, so every future PHP or browser change lands on us. A fork is cheap to create (MIT, small codebase — likely a few hundred lines of JS plus YAML/XML config) but permanently owned; the honest accounting is 1–2 engineer-days to port plus an unquantifiable trickle of "why did this break" time at each framework upgrade.

Support. None. No maintainer responsiveness, no issue triage, no security advisories, no release cadence to pin against. Incidents degrade to source-code archaeology by whoever is on call.

Scaling. Runtime footprint is negligible — a static JS asset and a container config; it will not affect throughput, latency, or infrastructure cost. The scaling concern is human: the pool of engineers fluent in Symfony 2 bundle conventions and AngularJS 1.x is small and shrinking, so the package raises the cost of every future hire and every onboarding.

Failure modes.

  • CSRF token stale after session expiry or regeneration, producing intermittent 419s that look like application bugs.
  • Bundle auto-registration or service-definition syntax breaking silently on a Symfony minor upgrade.
  • Asset not published/compiled under modern pipelines (assets:install, Encore, AssetMapper), yielding a 404 on the interceptor script and therefore unprotected mutating requests — a security-relevant silent failure.
  • Route-generation drift if the bundle derives URLs from Symfony routing internals.
  • Confusion in dependency review: a Symfony package appearing in a Laravel composer.json invites repeated audit questions.

Ramp-up. Low for the code itself (a small JS interceptor plus configuration is an afternoon's read for anyone who has done CSRF plumbing), but high for the surrounding idioms. Engineers with modern Laravel and Angular experience will not recognize the bundle-era Symfony patterns, so expect pairing time and documentation overhead disproportionate to the code volume. Recommendation: decline adoption; reimplement the CSRF bridge natively, and if a legacy Symfony deployment must be preserved, treat this package as a pattern to copy rather than a dependency to add.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package