matrix-spec/scripts/templating/matrix_templates/templates/http-api.tmpl

95 lines
1.8 KiB
Cheetah
Raw Normal View History

{% import 'tables.tmpl' as tables -%}
2015-12-10 15:47:14 +01:00
{% if "deprecated" in endpoint and endpoint.deprecated -%}
Deprecated: ``{{endpoint.method}} {{endpoint.path}}``
{{(17 + (endpoint.path | length) + (endpoint.method | length)) * title_kind}}
2015-12-10 15:47:14 +01:00
.. WARNING::
This API is deprecated and will be removed from a future release.
{% else %}
``{{endpoint.method}} {{endpoint.path}}``
{{(5 + (endpoint.path | length) + (endpoint.method | length)) * title_kind}}
2015-12-10 15:47:14 +01:00
{% endif -%}
2015-06-01 13:03:42 +02:00
{{endpoint.desc}}
{{":Rate-limited: Yes." if endpoint.rate_limited else ":Rate-limited: No." }}
{{":Requires auth: Yes." if endpoint.requires_auth else ":Requires auth: No." }}
2018-08-31 14:55:27 +02:00
.. class:: httpheaders
2018-08-31 14:55:27 +02:00
Request format:
2015-11-11 12:39:40 +01:00
{% if (endpoint.req_param_by_loc | length) %}
{{ tables.split_paramtable(endpoint.req_param_by_loc) }}
2016-01-07 23:46:22 +01:00
{% if (endpoint.req_body_tables) %}
{% for table in endpoint.req_body_tables -%}
2018-08-30 18:01:27 +02:00
{{ tables.paramtable(table.rows, caption=(table.title or "")) }}
2018-08-29 17:38:59 +02:00
{% endfor -%}
{% endif -%}
2016-01-07 23:46:22 +01:00
2015-11-11 12:39:40 +01:00
{% else %}
`No parameters`
{% endif %}
2015-06-01 13:03:42 +02:00
{% if endpoint.res_headers is not none -%}
2018-08-31 14:55:27 +02:00
.. class:: httpheaders
2018-08-31 14:55:27 +02:00
Response headers:
{{ tables.paramtable(endpoint.res_headers.rows) }}
{% endif -%}
{% if endpoint.res_tables|length > 0 -%}
2018-08-31 14:55:27 +02:00
.. class:: httpheaders
2018-08-31 14:55:27 +02:00
Response format:
{% for table in endpoint.res_tables -%}
2018-08-30 18:01:27 +02:00
{{ tables.paramtable(table.rows, caption=(table.title or "")) }}
2018-08-29 17:38:59 +02:00
{% endfor %}
{% endif -%}
2018-08-31 14:55:27 +02:00
.. class:: httpheaders
2018-08-31 14:55:27 +02:00
Example request:
.. code:: http
{{endpoint.example.req | indent_block(2)}}
{% if endpoint.responses|length > 0 -%}
2018-08-31 14:55:27 +02:00
.. class:: httpheaders
2018-08-31 14:55:27 +02:00
Response{{"s" if endpoint.responses|length > 1 else "" }}:
{% endif -%}
{% for res in endpoint.responses -%}
**Status code {{res["code"]}}:**
{{res["description"]}}
{% if res["example"] -%}
2018-08-31 14:55:27 +02:00
.. class:: httpheaders
2018-08-31 14:55:27 +02:00
Example
.. code:: json
{{res["example"] | indent_block(2)}}
{% endif -%}
{% endfor %}