141 lines
5.4 KiB
Text
141 lines
5.4 KiB
Text
|
|
<div class="section">
|
|
<div class="clearfix">
|
|
<h3 class="pull-left">{{ item.name|e }}</h3>
|
|
<h5 class="pull-right"><strong>Created at:</strong> {{ item.created_at }}</h5>
|
|
</div>
|
|
|
|
<div class="request-list" id="request-log" role="tablist" aria-multiselectable="true">
|
|
|
|
{% for index, req in page.items %}
|
|
|
|
<div class="request-list-item">
|
|
<a class="request-list-item-header collapsed" href="#request{{ index }}"
|
|
data-toggle="collapse" data-parent="#request-log"
|
|
aria-expanded="true" aria-controls="request{{ index }}">
|
|
|
|
<div class="request-list-item-header-row">
|
|
|
|
<span class="request-list-item-header-method">
|
|
{{ req.getMethod() }}
|
|
</span>
|
|
|
|
<span class="request-list-item-header-uri">
|
|
<span class="url">{{ urlStyle(req.getUri()) }}</span>
|
|
</span>
|
|
|
|
<span class="request-list-item-header-timestamp">
|
|
{{ icon('android-time') }} {{ req.getTimestamp() }}
|
|
</span>
|
|
</div>
|
|
|
|
<div class="request-list-item-header-row">
|
|
|
|
|
|
|
|
<span class="request-list-item-header-type">
|
|
{{ icon('android-list') }} {{ req.getType() }}
|
|
</span>
|
|
|
|
<span class="request-list-item-header-size">
|
|
{{ icon('cube') }} {{ req.getSize() }} b
|
|
</span>
|
|
|
|
<span class="request-list-item-header-ip">
|
|
{{ icon('location') }} {{ req.getSourceIp() }}
|
|
</span>
|
|
|
|
</div>
|
|
|
|
|
|
</a>
|
|
|
|
<div class="collapse" id="request{{ index }}"
|
|
role="tabpanel" aria-labelledby="head{{ index }}">
|
|
|
|
<div class="request-list-item-detail">
|
|
|
|
{% if req.getUriQuery()|length > 0 %}
|
|
|
|
<button class="request-list-item-detail-button" type="button"
|
|
data-toggle="collapse" data-target="#query{{ index }}"
|
|
aria-expanded="false" aria-controls="query{{ index }}">
|
|
Query
|
|
</button>
|
|
|
|
<div class="collapse in" id="query{{ index }}">
|
|
<table class="request-list-item-detail-headers">
|
|
<thead>
|
|
<th class="request-list-item-detail-headers-key">Key</th>
|
|
<th class="request-list-item-detail-headers-value">Value</th>
|
|
</thead>
|
|
<tbody>
|
|
{% for key, val in req.getUriQuery() %}
|
|
<tr>
|
|
<td><strong>{{ key|e }}</strong></td>
|
|
<td>{{ val|e }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
<button class="request-list-item-detail-button" type="button"
|
|
data-toggle="collapse" data-target="#headers{{ index }}"
|
|
aria-expanded="false" aria-controls="headers{{ index }}">
|
|
Headers
|
|
</button>
|
|
|
|
<div class="collapse" id="headers{{ index }}">
|
|
<table class="request-list-item-detail-headers">
|
|
<thead>
|
|
<th class="request-list-item-detail-headers-key">Key</th>
|
|
<th class="request-list-item-detail-headers-value">Value</th>
|
|
</thead>
|
|
<tbody>
|
|
{% for key, val in req.getHeaders() %}
|
|
<tr>
|
|
<td><strong>{{ key|e }}</strong></td>
|
|
<td>{{ val|e }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<button class="request-list-item-detail-button" type="button"
|
|
data-toggle="collapse" data-target="#body{{ index }}"
|
|
aria-expanded="false" aria-controls="body{{ index }}">
|
|
Body
|
|
</button>
|
|
|
|
<div class="request-list-item-detail-body collapse in" id="body{{ index }}">
|
|
|
|
{% if (req.getBody()|length < 1) %}
|
|
<div class="blankslate blankslate-sm">
|
|
<h3>Empty body</h3>
|
|
</div>
|
|
{% else %}
|
|
<pre>{{ req.getBody() }}</pre>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
{% else %}
|
|
<div class="blankslate">
|
|
<h3>No requests made yet.</h3>
|
|
<p>No http requests has been made to this callback.</p>
|
|
</div>
|
|
{% endfor %}
|
|
|
|
</div>
|
|
|
|
<nav class="text-center" aria-label="Page navigation">
|
|
{{ partial('pagination') }}
|
|
</nav>
|
|
</div>
|