86 lines
3.4 KiB
Plaintext
86 lines
3.4 KiB
Plaintext
@using System.Web.Http
|
|
@using PrevuWebAPI.Areas.HelpPage.Models
|
|
@model HelpPageApiModel
|
|
|
|
@{
|
|
var description = Model.ApiDescription;
|
|
string applicationPath = Request.ApplicationPath;
|
|
if (!applicationPath.EndsWith("/"))
|
|
{
|
|
applicationPath += "/";
|
|
}
|
|
}
|
|
|
|
<button id="testClientButton">Test API</button>
|
|
<div id="testClientDialog" title="@description.HttpMethod @description.RelativePath">
|
|
<input class="httpMethod" spellcheck="false" data-bind="value: HttpMethod" />
|
|
<input class="uriPath" spellcheck="false" data-bind="value: UriPath" />
|
|
<div data-bind="visible: UriParameters.length > 0">
|
|
<h5 class="ui-widget-header">URI parameters</h5>
|
|
<div class="panel">
|
|
<div data-bind="foreach: UriParameters">
|
|
<div>
|
|
<input readonly="true" spellcheck="false" tabindex="100" class="uriParameterLabel" data-bind="value: '{' + name + '}'" />
|
|
<span>= </span>
|
|
<input spellcheck="false" data-bind="value: value, valueUpdate: 'afterkeydown'" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<h5 class="ui-widget-header">Headers | <a style="text-decoration: underline" href="#" data-bind="click: addHeader">Add header</a>
|
|
</h5>
|
|
<div class="panel">
|
|
<div data-bind="foreach: RequestHeaders">
|
|
<div>
|
|
<input spellcheck="false" data-bind='value: name, uniqueName: true' />
|
|
<span>: </span>
|
|
<input spellcheck="false" data-bind='value: value, uniqueName: true' />
|
|
<a href='#' data-bind='click: $root.removeHeader'>Delete</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<h5 class="ui-widget-header">
|
|
<input type='checkbox' data-bind='checked: ShouldShowBody' />Body</h5>
|
|
<div data-bind="visible: ShouldShowBody">
|
|
<div data-bind="visible: SampleTypes.length > 0">
|
|
<span>Samples: </span>
|
|
<select data-bind="options: SampleTypes, value: RequestMediaType"></select>
|
|
</div>
|
|
<pre><textarea class="sampleArea" spellcheck="false" data-bind="value: RequestBody, valueUpdate: 'afterkeydown'" rows="7"></textarea></pre>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="testClientResponseDialog" title="Response for @description.HttpMethod @description.RelativePath" data-bind="with: response">
|
|
<div class="responseStatusDiv">
|
|
<h5 class="ui-widget-header">Status</h5>
|
|
<span data-bind="text: status"></span>
|
|
</div>
|
|
<div class="responseHeaderDiv">
|
|
<h5 class="ui-widget-header">Headers</h5>
|
|
<textarea spellcheck="false" data-bind="value: headers" class="sampleArea" readonly='readonly' rows="6"></textarea>
|
|
</div>
|
|
<div class="responseBodyDiv">
|
|
<h5 class="ui-widget-header">Body</h5>
|
|
<textarea spellcheck="false" data-bind="value: content" class="sampleArea" readonly='readonly' rows="10"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
testClientModel = {
|
|
HttpMethod: '@Model.ApiDescription.HttpMethod',
|
|
UriPathTemplate: @Html.Raw(Json.Encode(Model.ApiDescription.RelativePath)),
|
|
UriParameters: [
|
|
@foreach (var parameter in Model.ApiDescription.ParameterDescriptions)
|
|
{
|
|
if (parameter.Source == System.Web.Http.Description.ApiParameterSource.FromUri)
|
|
{
|
|
@:{ name: "@parameter.Name", value: "" },
|
|
}
|
|
}
|
|
],
|
|
Samples: {
|
|
@Html.Raw(@String.Join(",", Model.SampleRequests.Select(s => String.Format("\"{0}\": \"{1}\"", s.Key, HttpUtility.UrlEncode(s.Value.ToString()))).ToArray()))
|
|
},
|
|
BaseAddress: '@applicationPath'
|
|
};
|
|
</script> |