in src/Microsoft.Azure.Functions.Worker.Extensions.OpenApi/Functions/OpenApiTriggerFunction.cs [209:251]
public async Task<HttpResponseData> RenderOAuth2Redirect(HttpRequestData req, FunctionContext ctx)
{
var log = ctx.GetLogger(nameof(OpenApiTriggerFunction));
log.LogInformation("The oauth2-redirect.html page was requested.");
var fi = new FileInfo(ctx.FunctionDefinition.PathToAssembly);
var request = new HttpRequestObject(req);
var result = default(string);
var response = default(HttpResponseData);
try
{
await this._context
.SetApplicationAssemblyAsync(fi.Directory.FullName, appendBin: false)
.ConfigureAwait(false);
result = await this._context
.SwaggerUI
.AddServer(request, this._context.HttpSettings.RoutePrefix, this._context.OpenApiConfigurationOptions)
.BuildOAuth2RedirectAsync(this._context.PackageAssembly)
.RenderOAuth2RedirectAsync("oauth2-redirect.html", this._context.GetDocumentAuthLevel(), this._context.GetSwaggerAuthKey())
.ConfigureAwait(false);
response = req.CreateResponse(HttpStatusCode.OK);
response.Headers.Add("Content-Type", ContentTypeHtml);
await response.WriteStringAsync(result).ConfigureAwait(false);
}
catch (Exception ex)
{
log.LogError(ex.Message);
result = ex.Message;
if (this._context.IsDevelopment)
{
result += "\r\n\r\n";
result += ex.StackTrace;
}
response = req.CreateResponse(HttpStatusCode.InternalServerError);
response.Headers.Add("Content-Type", ContentTypeText);
await response.WriteStringAsync(result).ConfigureAwait(false);
}
return response;
}