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

Http Body Decoder Laravel Package

boson-php/http-body-decoder

Lightweight HTTP request body decoder for PHP 8.4+. Decode incoming payloads by Content-Type (e.g., JSON, form data) into usable values, designed for Boson apps but usable standalone via Composer.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • API/Backend Efficiency: Streamline request body parsing (JSON, form-data, XML, etc.) in Laravel applications, reducing boilerplate and improving maintainability.
  • Microservices & APIs: Enable consistent, type-safe request handling across distributed services (e.g., decoupling parsing logic from business logic).
  • Performance Optimization: Replace manual json_decode()/Input::all() calls with a standardized, optimized decoder (e.g., for high-throughput APIs).
  • Roadmap: Prioritize if building a Laravel-first framework or middleware layer for request processing (e.g., replacing Illuminate\Http\Request extensions).
  • Build vs. Buy: Justify adopting this over custom solutions if:
    • The team lacks time/resources to build robust decoders.
    • Need cross-format support (e.g., handling both JSON and multipart/form-data in one pipeline).
  • Use Cases:
    • Validation Layer: Integrate with Laravel’s validation pipeline (e.g., Validator::make($decoder->parse($request))).
    • Middleware: Create reusable middleware to decode and transform requests before they reach controllers.
    • Legacy Migration: Modernize old APIs using boson-php/http-body-decoder as a drop-in replacement for ad-hoc parsing.

When to Consider This Package

Adopt if:

  • Your Laravel app handles multiple request body formats (JSON, form-data, XML, etc.) and parsing logic is duplicated across controllers/middleware.
  • You need type safety (e.g., auto-converting strings to enums/DTOs) without manual casting.
  • Building a high-scale API where parsing performance is critical (e.g., microservices with tight latency SLAs).
  • Your team is already using BosonPHP’s ecosystem (e.g., Symfony/Laravel adapters) or wants to standardize on it.

Look elsewhere if:

  • Your app only uses JSON and Laravel’s built-in json_decode()/Input suffices.
  • You need deep validation (consider Laravel’s Validator or libraries like spatie/laravel-query-builder).
  • The package’s maturity is a concern (0 stars, minimal docs; evaluate BosonPHP’s broader ecosystem first).
  • You’re constrained by PHP 8.4+ (check compatibility with your stack).

How to Pitch It (Stakeholders)

For Executives: "This package lets us standardize how our Laravel APIs parse incoming requests—reducing bugs, improving performance, and cutting dev time. For example, instead of manually handling JSON vs. form-data across 50+ endpoints, we’d use a single, optimized decoder. Early adoption could also align with our microservices roadmap, where consistent request processing is critical."

For Engineering: *"boson-php/http-body-decoder offers:

  • Unified parsing: Handle JSON, form-data, XML, etc., with one library (vs. mixing json_decode(), file_get_contents(), etc.).
  • Performance: Likely faster than ad-hoc parsing for high-volume APIs (BosonPHP claims optimizations for PHP 8.4+).
  • Extensibility: Works with Laravel’s existing Request object or as middleware. Could integrate with our validation layer.
  • Future-proof: If we adopt BosonPHP’s ecosystem (e.g., for Symfony/Laravel adapters), this becomes a natural fit. Tradeoff: Early-stage package (0 stars), but low risk for a proof-of-concept in a non-critical API."*

For Developers: *"This replaces repetitive parsing code like:

$data = json_decode($request->getContent(), true);
if (!$data) { throw new \Exception('Invalid JSON'); }

With:

$decoder = new \Boson\Http\Decoder();
$data = $decoder->decode($request); // Auto-handles JSON, form-data, etc.

Bonus: If we use it in middleware, we can enforce consistent parsing across the app."*

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.
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table