42 lines
2.0 KiB
HTML
42 lines
2.0 KiB
HTML
{{ render_partial('dashboard/http_functions/header.html', title='Logs', user_id=user_id, name=name,
|
|
refresh_url=url_for('get_http_function_logs', name=name), show_edit_form=True, show_client=True) }}
|
|
|
|
<div class="block md:grid md:grid-cols-4 md:gap-4 p-4">
|
|
<!-- Headers -->
|
|
<div class="font-medium text-muted-foreground md:block hidden">Timestamp</div>
|
|
<div class="font-medium text-muted-foreground md:block hidden">Request</div>
|
|
<div class="font-medium text-muted-foreground md:block hidden">Response</div>
|
|
<div class="font-medium text-muted-foreground md:block hidden">Logs</div>
|
|
|
|
<!-- Data Rows -->
|
|
{% for invocation in http_function_invocations %}
|
|
<!-- Timestamp and Status for Mobile and Desktop -->
|
|
<div class="flex items-center md:col-span-1 py-2 border-b">
|
|
<button
|
|
class="{{ 'bg-green-400' if invocation.status == 'SUCCESS' else 'bg-red-400' }} hover:bg-opacity-75 text-white font-bold rounded-full h-fit p-2 mr-2">
|
|
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
d="{{ 'M5 13l4 4L19 7' if invocation.status == 'SUCCESS' else 'M6 18L18 6M6 6l12 12' }}"></path>
|
|
</svg>
|
|
</button>
|
|
<span>{{ invocation.invocation_time.strftime('%Y-%m-%d %H:%M:%S') }}</span>
|
|
</div>
|
|
|
|
<!-- Request Data for Mobile and Desktop -->
|
|
<div class="font-mono text-gray-400 overflow-auto md:col-span-1 py-2 border-b">
|
|
{{ invocation.request_data }}
|
|
</div>
|
|
|
|
<!-- Response Data for Mobile and Desktop -->
|
|
<div class="font-mono text-gray-400 overflow-auto md:col-span-1 py-2 border-b">
|
|
{{ invocation.response_data }}
|
|
</div>
|
|
|
|
<!-- Logs for Mobile and Desktop -->
|
|
<div class="space-y-1 md:col-span-1 py-2 border-b">
|
|
{% for log in invocation.logs %}
|
|
<div class="font-mono text-gray-400">{{ log[0] }}</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endfor %}
|
|
</div> |