savinmikhail/symfony-profiler-response-bundle

Symfony Web Profiler panel to display JSON/text response bodies with size limits and guards (dev-only)

Installs: 10

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 1

Open Issues: 2

Type:symfony-bundle

pkg:composer/savinmikhail/symfony-profiler-response-bundle

v0.1.3 2025-10-31 15:44 UTC

README

Scrutinizer Code Quality Code Coverage dist-size status

Symfony Profiler Response Bundle

Dev-only Symfony bundle that adds a "Response Body" panel to the Web Profiler, showing JSON/text response payloads with size limits and sensible guards.

Features

  • Captures response body for textual and JSON-like MIME types
  • Skips streamed/binary responses to avoid breaking downloads
  • Truncates large payloads (default 256 KB) to protect the toolbar
  • Pretty-prints JSON when possible

Installation

  1. composer req --dev savinmikhail/symfony-profiler-response-bundle
  2. Register the bundle in your app (though flex should do it for you):
// config/bundles.php
return [
    // ...
    SavinMikhail\\ResponseProfilerBundle\\ResponseProfilerBundle::class => [
        'dev' => true,
    ],
];
  1. Configuration (config/packages/response_profiler.yaml) is installed automatically by Flex and scoped to dev via when@dev. Adjust the values to taste:
when@dev:
    response_profiler:
        enabled: true
        max_length: 262144           # bytes (256 KB)
        allowed_mime_types:
            - application/json
            - application/ld+json
            - application/problem+json
            - application/vnd.api+json
            - text/plain
            - text/json
            - application/x-ndjson

Usage

  • In the Web Profiler, open any request and look for the new "Response Body" tab.
  • The toolbar badge shows MIME and size; the panel shows headers and the (pretty-printed) body, truncated if oversized.

Appearance

img.png

Notes

  • This bundle is designed for development. Do not enable in production.
  • Streamed and binary responses are ignored.
  • Pretty-printing of very large JSON may be skipped when payloads are huge.