8000 Add Pretty Print functionality for Request Content · symfony/symfony@d985841 · GitHub
[go: up one dir, main page]

Skip to content

Commit d985841

Browse files
committed
Add Pretty Print functionality for Request Content
When it's been possible to detect the request contained JSON, provide an option to "Pretty Print" the request content.
1 parent bcff647 commit d985841

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,15 +171,22 @@
171171
<h3>Request Headers</h3>
172172
{{ include('@WebProfiler/Profiler/bag.html.twig', { bag: collector.requestheaders, labels: ['Header', 'Value'], maxDepth: 1 }, with_context = false) }}
173173

174-
<h3>Request Content</h3>
174+
<h3>
175+
Request Content
176+
{% if collector.requestheaders.get('content-type')|lower is same as ('application/json') %}
177+
<small>
178+
<a href="#" class="js-pretty-request-content">(Pretty Print)</a>
179+
</small>
180+
{% endif %}
181+
</h3>
175182

176183
{% if collector.content == false %}
177184
<div class="empty">
178185
<p>Request content not available (it was retrieved as a resource).</p>
179186
</div>
180187
{% elseif collector.content %}
181188
<div class="card">
182-
<pre class="break-long-words">{{ collector.content }}</pre>
189+
<pre class="break-long-words js-request-content">{{ collector.content }}</pre>
183190
</div>
184191
{% else %}
185192
<div class="empty">
@@ -315,6 +322,19 @@
315322
</div>
316323
{% endif %}
317324
</div>
325+
<script>{% autoescape 'js' %}
326+
(function () {
327+
document.addEventListener('DOMContentLoaded', function() {
328+
document.querySelector('.js-pretty-request-content').addEventListener('click', function(e) {
329+
e.preventDefault();
330+
331+
var container = document.querySelector('.js-request-content');
332+
var content = container.textContent;
333+
container.textContent = JSON.stringify(JSON.parse(content), null, 4);
334+
});
335+
}, false);
336+
})();
337+
{% endautoescape %}</script>
318338
{% endblock %}
319339

320340
{% macro set_handler(controller, route, method) %}

0 commit comments

Comments
 (0)
0