{% extends "relay/base.html" %} {% block title %}Event #{{ event.pk }}{% endblock %} {% block content %}

← {{ endpoint.name }}

{{ event.method }} {{ event.path|default:"/" }}{% if event.query %}?{{ event.query }}{% endif %}

Event #{{ event.pk }} · {{ event.received_at|date:"Y-m-d H:i:s" }} UTC · from {{ event.source_ip|default:"unknown" }} · {{ event.size }} bytes{% if event.parent %} · edited copy of #{{ event.parent.pk }}{% endif %}

signature {{ event.signature_status }} {{ event.signature_detail }}
{{ pretty }}

Deliveries

{% for d in deliveries %}
{{ d.state }} {{ d.destination.name|default:"One-off URL" }} {{ d.target_url }} {% if d.is_replay %}replay{% endif %} {{ d.attempts }}/{{ d.max_attempts }} attempts{% if d.next_retry_at and d.state == 'pending' %} · next try {{ d.next_retry_at|date:"H:i:s" }}{% endif %}
    {% for a in d.attempt_log.all %}
  1. Attempt {{ a.number }} · {{ a.started_at|date:"H:i:s" }} · {% if a.response_status %}HTTP {{ a.response_status }}{% else %}no response{% endif %} · {{ a.latency_ms }} ms {% if a.error %}{{ a.error|truncatechars:90 }}{% endif %}

    Request

    {% for k, v in a.request_headers.items %}{{ k }}: {{ v }}
    {% endfor %}
    {{ a.request_body_excerpt }}

    Response

    {% for k, v in a.response_headers.items %}{{ k }}: {{ v }}
    {% endfor %}
    {{ a.response_body_excerpt }}{% if a.error %}{{ a.error }}{% endif %}
  2. {% empty %}
  3. Waiting for the delivery worker (python manage.py run_deliveries).
  4. {% endfor %}
{% empty %}

No deliveries for this event (no matching destination).

{% endfor %} {% if derived %}

Edited copies

{% endif %}
{% csrf_token %}

Replay event #{{ event.pk }}

{% csrf_token %}

Edit & resend

Creates a new derived event with your changes. Signature headers are not recomputed.

{% endblock %}