{% if (resource.methods or (resource.description and resource.parentUrl)) %}
{% if resource.parentUrl %}
<p>
  {% markdown -%}
    {{ resource.description }}
  {%- endmarkdown %}
</p>
{% endif %}
{% for method in resource.methods %}

<div class="set">

<div class="set-description">
  <hr/>
  {% if method.displayName %}
  <h2 id="{{ getSafeId(resource.displayName + '-' + method.displayName) }}">{{ method.displayName }}</h2>
  {% elif resource.displayName %}
  <h2 id="{{ getSafeId(resource.displayName + '-' + method.method) }}">{{ resource.displayName + " " + method.method }}</h2>
  {% else %}
  <h2 id="{{ getSafeId(resource.parentUrl + resource.relativeUri + method.method) }}">{{ resource.parentUrl }}{{ resource.relativeUri}} {{ method.method }}</h2>
  {% endif %}

  <p>
  <code>{{ (method.method | upper )}}: {{ resource.parentUrl }}{{ resource.relativeUri }}</code> {% if method.securedBy %} <em>(secured)</em>{% endif %}
  </p>

  {% markdown -%}
    {{ method.description }}
  {%- endmarkdown %}

{% if method.allUriParameters | length != 0 %}
<br/>
<p><strong><em><big>URI Parameters</big></em></strong></p>
{% for param in method.allUriParameters -%}
{% include "./parameter-table.nunjucks" %}
{% endfor %}
{% endif %}

{% if (method.headers | length) != 0 %}
<br/>
<p><strong><em><big>Header Parameters</big></em></strong></p>
{% for param in method.headers %}
{% include "parameter-table.nunjucks" %}
{% endfor %}
{% endif %}

{% if (method.queryParameters | length) != 0 %}
<br/>
<p><strong><em><big>Query Parameters</big></em></strong></p>
{% for param in method.queryParameters %}
{% include "parameter-table.nunjucks" %}
{% endfor %}
{% endif %}

{% if getResponseHeaders(method) | length != 0 %}
<br/>
<p><strong><em><big>Response Headers</big></em></strong></p>
{% for param in getResponseHeaders(method) -%}
{% include "parameter-table.nunjucks" %}
{%- endfor %}
{% endif %}

{% if (method.responses | length) != 0 %}
<br/>
<p><strong><em><big>Possible Responses</big></em></strong></p>
{% for response in method.responses %}
  <p>
    <strong>{{ response.code }}</strong>
    {% markdown -%}
      {{ response.description }}
    {%- endmarkdown %}
  </p>
{% endfor %}
{% endif %}
</div>

<div class="set-examples">
  <hr/>
  {% if method.displayName %}
  <h2 class="toc-ignore" id="{{ getSafeId(resource.displayName + '-' + method.displayName) }}">{{ method.displayName }}</h2>
  {% elif resource.displayName %}
  <h2 class="toc-ignore" id="{{ getSafeId(resource.displayName + '-' + method.method) }}">{{ resource.displayName + " " + method.method }}</h2>
  {% else %}
  <h2 class="toc-ignore" id="{{ getSafeId(resource.parentUrl + resource.relativeUri + method.method) }}">{{ resource.parentUrl }}{{ resource.relativeUri}} {{ method.method }}</h2>
  {% endif %}

<blockquote><h3 class="toc-ignore">CURL EXAMPLE</h3></blockquote>
<div class="languagebox bash">
  <pre><code>{{ getCurlStatement(method, resource) | escape }}</code></pre>
</div>

{% if ((method.headers | length != 0) and hasExamples(method.headers)) %}
<blockquote><h3 class="toc-ignore">REQUEST HEADERS</h3></blockquote>
<div class="languagebox">
  <pre><code>
    {%- for header in method.headers -%}
{%- if header.examples -%}
{{ header.key }}: {{ header.examples[0].value | escape }}
{% endif -%}
    {%- endfor -%}
  </code></pre>
</div>
{% endif %}

{% if (method.body | length != 0) %}
    <blockquote><h3 class="toc-ignore">REQUEST BODY</h3></blockquote>
    {% for body in method.body %}
        <p><strong> {{body.description}} </strong></p>
      {% if hasExamples(method.body) %}
        {% for example in body.examples %}
            <div class="languagebox {{ getLanguage(body.key) }}">
            <details>
                <summary> Example {{example.displayName}} </summary>
                  {% if (example.description) %}
                    <p>
                    {% markdown -%}
                      {{ example.description }}
                    {%- endmarkdown %}
                    </p>
                  {% endif %}
                <pre><code>{{ example.value | escape }}</code></pre>
            </details>
            </div>
        {% endfor %}
      {% endif %}
      {% if hasType(body)%}
        {% if body.type == 'any' %}
            <p> Type: any </p>
        {%else%}
          <div class="languagebox {{ getLanguage(body.key) }}">
            <details>
                <summary>Type</summary>
                <pre><code>{{ getType(body) | escape }}</code></pre>
            </details>
          </div>
        {% endif %}
      {% endif %}
    {% endfor %}
{% endif %}

{% set responseHeaders = getResponseHeaders(method) %}
{% if ((responseHeaders | length != 0) and hasExamples(responseHeaders)) %}
<blockquote><h3 class="toc-ignore">RESPONSE HEADERS</h3></blockquote>
<div class="languagebox">
<pre><code>
  {%- for header in responseHeaders -%}
{%- if header.examples -%}
{{ header.key }}: {{ header.examples[0].value | escape }}
{% endif -%}
  {%- endfor -%}
</code></pre>
</div>
{% endif %}

{% for response in method.responses %}
  {% if (response.code >= 200 and response.code < 300) %}
    <blockquote><h3 h3 class="toc-ignore">RESPONSE BODY</h3></blockquote>
    {% for body in response.body %}
      {% if hasExamples(response.body) %}
        {% for example in body.examples %}
        <div class="languagebox {{ getLanguage(body.key) }}">
        <details>
            <summary> Example {{example.displayName}} </summary>
              {% if (example.description) %}
                <p>
                {% markdown -%}
                  {{ example.description }}
                {%- endmarkdown %}
                </p>
              {% endif %}
            <pre><code>{{ example.value | escape }}</code></pre>
        </details>
        </div>
        {% endfor %}
      {% endif %}
      {% if (hasType(body)) %}
        {% if body.type == 'any' %}
            <p> Type: any </p>
        {%else%}
            <div class="languagebox {{ getLanguage(body.key) }}">
              <details>
                <summary>Type</summary>
                <pre><code>{{ getType(body) | escape }}</code></pre>
              </details>
            </div>
        {% endif %}
      {% endif %}
    {% endfor %}
  {% endif %}
{% endfor %}
</div>
</div>

{%- endfor -%}
{% endif %}
{% for resource in resource.resources %}
{% include "./resource.nunjucks" %}
{% endfor %}
