<commit_before>{% macro display_array_recursive(array, separator = ', ', opening_char = '[', closing_char = ']') -%}
    {{ opening_char }}
    {%- for key, value in array -%}
        {%- if value is iterable -%}
            {{ key }} => {{ _self.display_array_recursive(value, separator, opening_char, closing_char) }}
        {%- else -%}
            {{ key }} => {{ value }}
            {%- if not loop.last %}{{ separator }}{% endif -%}
        {%- endif -%}
    {%- endfor -%}
    {{ closing_char }}
{%- endmacro %}

{% import _self as m %}

{% if time.total > 0 %}

    <h3>Time</h3>
    <table>
        <tbody class='guzzle-timing'>
        {% for activity, timing in time if activity != 'total' %}
            <tr>
                <th>
                    {{ activity|title }} {{ (timing.duration * 1000)|number_format(0, '', '') }} <small>ms</small> - {{ timing.percentage|number_format(0, '', '') }}%
                    {% if activity == 'waiting' %}
                        <br /><small>Time to First Byte {{ (timing.end * 1000)|number_format(0) }} ms</small>
                    {% endif %}
                </th>
                <td>
                    <div class="progress progress-striped">
                        <div class="progress-bar bar bar-invisible" style="width: {{ timing.start_percentage|number_format(2) }}%;"></div>
                        <div class="progress-bar bar bar-{{ activity }}" style="width: {{ timing.percentage|number_format(2) }}%;"></div>
                    </div>
                </td>
            </tr>
        {% endfor %}
        <tr>
            <th>Total {{ (time.total * 1000)|number_format(0) }} <small>ms</small></th>
            <td></td>
        </tr>
        </tbody>
    </table>
{% endif %}

<h3>Information</h3>
<table>
    <tbody>
    <tr>
        <th>Method</th>
        <td>{{ request.method }}</td>
    </tr>
    <tr>
        <th>Protocol</th>
        <td>{{ request.scheme }}</td>
    </tr>
    <tr>
        <th>Host</th>
        <td>{{ request.host }}</td>
    </tr>
    <tr>
        <th>Port</th>
        <td>{{ request.port }}</td>
    </tr>
    <tr>
        <th>Path</th>
        <td>{{ request.path }}</td>
    </tr>
    <tr>
        <th>Query</th>
        <td>{{ request.query }}</td>
    </tr>
    {% if request.method == 'GET' %}
        <tr>
            <th>URL</th>
            <td><a href="{{ request.scheme }}://{{ request.host }}:{{ request.port }}{{ request.path }}?{{ request.query }}">{{ request.scheme }}://{{ request.host }}{{ request.path }}?{{ request.query }}</a></td>
        </tr>
    {% endif %}
    </tbody>
</table>

<h3>Headers</h3>
<table>
    <tbody>
    {% for header,value in request.headers %}
        <tr>
            <th>{{ header }}</th>
            <td>{{ value|join('<strong>, </strong>') }}</td>
        </tr>
    {% endfor %}
    </tbody>
</table>

<h3>Query Parameters</h3>
<table>
    <tbody>
    {% for name,parameter in request.query %}
        <tr>
            <th>{{ name }}</th>
            <td>
                {% if parameter is iterable %}<commit_msg>Update request.html.twig<commit_after>{% macro display_array_recursive(array, separator = ', ', opening_char = '[', closing_char = ']') -%}
    {{ opening_char }}
    {%- for key, value in array -%}
        {%- if value is iterable -%}
            {{ key }} => {{ _self.display_array_recursive(value, separator, opening_char, closing_char) }}
        {%- else -%}
            {{ key }} => {{ value }}
            {%- if not loop.last %}{{ separator }}{% endif -%}
        {%- endif -%}
    {%- endfor -%}
    {{ closing_char }}
{%- endmacro %}

{% import _self as m %}

{% if time.total > 0 %}

    <h3>Time</h3>
    <table>
        <tbody class='guzzle-timing'>
        {% for activity, timing in time if activity != 'total' %}
            <tr>
                <th>
                    {{ activity|title }} {{ (timing.duration * 1000)|number_format(0, '', '') }} <small>ms</small> - {{ timing.percentage|number_format(0, '', '') }}%
                    {% if activity == 'waiting' %}
                        <br /><small>Time to First Byte {{ (timing.end * 1000)|number_format(0) }} ms</small>
                    {% endif %}
                </th>
                <td>
                    <div class="progress progress-striped">
                        <div class="progress-bar bar bar-invisible" style="width: {{ timing.start_percentage|number_format(2) }}%;"></div>
                        <div class="progress-bar bar bar-{{ activity }}" style="width: {{ timing.percentage|number_format(2) }}%;"></div>
                    </div>
                </td>
            </tr>
        {% endfor %}
        <tr>
            <th>Total {{ (time.total * 1000)|number_format(0) }} <small>ms</small></th>
            <td></td>
        </tr>
        </tbody>
    </table>
{% endif %}

<h3>Information</h3>
<table>
    <tbody>
    <tr>
        <th>Method</th>
        <td>{{ request.method }}</td>
    </tr>
    <tr>
        <th>Protocol</th>
        <td>{{ request.scheme }}</td>
    </tr>
    <tr>
        <th>Host</th>
        <td>{{ request.host }}</td>
    </tr>
    <tr>
        <th>Port</th>
        <td>{{ request.port }}</td>
    </tr>
    <tr>
        <th>Path</th>
        <td>{{ request.path }}</td>
    </tr>
    <tr>
        <th>Query</th>
        <td>{{ request.query }}</td>
    </tr>
    <tr>
        <th>URL</th>
        <td><a href="{{ request.scheme }}://{{ request.host }}:{{ request.port }}{{ request.path }}?{{ request.query }}">{{ request.scheme }}://{{ request.host }}:{{ request.port }}{{ request.path }}?{{ request.query }}</a></td>
    </tr>
    </tbody>
</table>

<h3>Headers</h3>
<table>
    <tbody>
    {% for header,value in request.headers %}
        <tr>
            <th>{{ header }}</th>
            <td>{{ value|join('<strong>, </strong>') }}</td>
        </tr>
    {% endfor %}
    </tbody>
</table>

<h3>Query Parameters</h3>
<table>
    <tbody>
    {% for name,parameter in request.query %}
        <tr>
            <th>{{ name }}</th>
            <td>
                {% if parameter is iterable %}
{'fraction_non_alphanumeric': 0.21352371573937304, 'fraction_numerical': 0.008862629246676515, 'mean_word_length': 1.7120605251446372, 'pattern_counts': {'":': 0, '<': 209, '<?xml version=': 0, '>': 215, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6528808', 'n_tokens_mistral': 2117, 'n_tokens_neox': 1955, 'n_words': 400}