@php
use Knuckles\Scribe\Tools\Utils as u;
/** @var Knuckles\Camel\Output\OutputEndpointData $endpoint */
@endphp
## {!! preg_replace("/{(\w+)}/mi", ":$1", $endpoint->uri) !!}
@foreach($endpoint->httpMethods as $method)
**{{ $method }} /{!! preg_replace("/{(\w+)}/mi", ":$1", $endpoint->uri) !!}**
@endforeach
@if($endpoint->metadata->authenticated)
requires authentication
@endif
{!! Parsedown::instance()->text($endpoint->metadata->description ?: '') !!}
@if(count($endpoint->headers))
**{{ u::trans("scribe::endpoint.headers") }}**
@foreach($endpoint->headers as $header => $value)
@component('scribe::mdx.field-details', [
'name' => $header,
'type' => null,
'required' => false,
'description' => null,
'example' => $value,
'endpointId' => $endpoint->endpointId(),
'component' => 'header',
'isInput' => true,
])
@endcomponent
@endforeach
@endif
@if(count($endpoint->urlParameters))
**{{ u::trans("scribe::endpoint.url_parameters") }} **
@foreach($endpoint->urlParameters as $attribute => $parameter)
@component('scribe::mdx.field-details', [
'name' => $parameter->name,
'type' => $parameter->type ?? 'string',
'required' => $parameter->required,
'description' => $parameter->description,
'example' => $parameter->example ?? '',
'endpointId' => $endpoint->endpointId(),
'component' => 'url',
'isInput' => true,
])
@endcomponent
@endforeach
@endif
@if(count($endpoint->queryParameters))
{{ u::trans("scribe::endpoint.query_parameters") }}
@foreach($endpoint->queryParameters as $attribute => $parameter)
@component('scribe::mdx.field-details', [
'name' => $parameter->name,
'type' => $parameter->type,
'required' => $parameter->required,
'description' => $parameter->description,
'example' => $parameter->example ?? '',
'endpointId' => $endpoint->endpointId(),
'component' => 'query',
'isInput' => true,
])
@endcomponent
@endforeach
@endif
@if(count($endpoint->nestedBodyParameters))
{{ u::trans("scribe::endpoint.body_parameters") }}
@component('scribe::mdx.nested-fields', [
'fields' => $endpoint->nestedBodyParameters,
'endpointId' => $endpoint->endpointId(),
])
@endcomponent
@endif
@if(count($endpoint->responseFields))
{{ u::trans("scribe::endpoint.response_fields") }}
@component('scribe::mdx.nested-fields', [
'fields' => $endpoint->nestedResponseFields,
'endpointId' => $endpoint->endpointId(),
'isInput' => false,
])
@endcomponent
@endif
@if($metadata['try_it_out']['enabled'] ?? false)
@include("scribe::mdx.try_it_out")
@endif
@if($metadata['example_languages'])
{{ u::trans("scribe::endpoint.example_request") }}:
@foreach($metadata['example_languages'] as $index => $language)
@include("scribe::mdx.example-requests.$language")
@endforeach
@endif
@if($endpoint->isGet() || $endpoint->hasResponses())
{{ u::trans("scribe::endpoint.example_response") }} :
@foreach($endpoint->responses as $index => $response)
{{ $response->fullDescription() }}
@endforeach
@foreach($endpoint->responses as $index => $response)
{{ $endpoint->endpointId() }}-{{ $index }}
@if(count($response->headers))
Headers
```http
@foreach($response->headers as $header => $value)
{{ $header }}
: {{ is_array($value) ? implode('; ', $value) : $value }}
@endforeach
@endif
@if(is_string($response->content) && Str::startsWith($response->content, "<>"))
[{{ u::trans("scribe::endpoint.responses.binary") }}] - {{ (str_replace("<>", "", $response->content)) }}
@elseif($response->status == 204)
[{{ u::trans("scribe::endpoint.responses.empty") }}]
@else
@php($parsed = json_decode($response->content))
{{-- If response is a JSON string, prettify it. Otherwise, just print it --}}
{!! $parsed != null ? json_encode($parsed, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) : $response->content !!}
@endif
@endforeach
@endif