|
#pragma checksum "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor" "{8829d00f-11b8-4213-878b-770e8597ac16}" "427aaeefde656cf38554b772fe4554f4243d9dfed1466c53493b897483fc9f05"
// <auto-generated/>
#pragma warning disable 1591
namespace WebFrontEnd.Components.Pages
{
#line default
using global::System;
using global::System.Collections.Generic;
using global::System.Linq;
using global::System.Threading.Tasks;
using global::Microsoft.AspNetCore.Components;
#nullable restore
#line (1,2)-(1,23) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using System.Net.Http
#nullable disable
;
#nullable restore
#line (2,2)-(2,28) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using System.Net.Http.Json
#nullable disable
;
#nullable restore
#line (3,2)-(3,45) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using Microsoft.AspNetCore.Components.Forms
#nullable disable
;
#nullable restore
#line (4,2)-(4,47) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using Microsoft.AspNetCore.Components.Routing
#nullable disable
;
#nullable restore
#line (5,2)-(5,43) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using Microsoft.AspNetCore.Components.Web
#nullable disable
;
#nullable restore
#line (6,2)-(6,61) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using static Microsoft.AspNetCore.Components.Web.RenderMode
#nullable disable
;
#nullable restore
#line (7,2)-(7,58) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using Microsoft.AspNetCore.Components.Web.Virtualization
#nullable disable
;
#nullable restore
#line (8,2)-(8,27) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using Microsoft.JSInterop
#nullable disable
;
#nullable restore
#line (9,2)-(9,19) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using WebFrontEnd
#nullable disable
;
#nullable restore
#line (10,2)-(10,30) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\_Imports.razor"
using WebFrontEnd.Components
#nullable disable
;
#nullable restore
#line (2,2)-(2,24) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
using System.Text.Json
#nullable disable
;
#nullable restore
#line (3,2)-(3,30) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
using System.Text.Json.Nodes
#nullable disable
;
#line default
#line hidden
#nullable restore
#line (4,12)-(4,29) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
[StreamRendering]
#line default
#line hidden
#nullable disable
[global::Microsoft.AspNetCore.Components.RouteAttribute(
// language=Route,Component
#nullable restore
#line (1,7)-(1,27) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
"/external-services"
#line default
#line hidden
#nullable disable
)]
#nullable restore
public partial class ExternalServices : global::Microsoft.AspNetCore.Components.ComponentBase
#nullable disable
{
#pragma warning disable 1998
protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
{
__builder.OpenComponent<global::Microsoft.AspNetCore.Components.Web.PageTitle>(0);
__builder.AddAttribute(1, "ChildContent", (global::Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => {
__builder2.AddContent(2, "External Services");
}
));
__builder.CloseComponent();
__builder.AddMarkupContent(3, "\r\n\r\n");
__builder.AddMarkupContent(4, "<h1>External Services</h1>\r\n\r\n");
__builder.AddMarkupContent(5, "<p>This component demonstrates communicating with external services.</p>\r\n\r\n");
__builder.AddMarkupContent(6, "<h2>Direct to External Services</h2>\r\n");
__builder.OpenElement(7, "p");
__builder.AddMarkupContent(8, "<strong>NuGet API version: </strong>");
#nullable restore
#line (16,1)-(16,5) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
#line default
#line hidden
#nullable disable
#nullable restore
#line (16,6)-(18,1) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
if (nugetApiVersion == null)
{
#line default
#line hidden
#nullable disable
__builder.AddMarkupContent(9, "<em>loading...</em>");
#nullable restore
#line (19,1)-(22,10) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
}
else
{
#line default
#line hidden
#nullable disable
#nullable restore
#line (22,11)-(22,26) 25 "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
__builder.AddContent(10, nugetApiVersion
#line default
#line hidden
#nullable disable
);
#nullable restore
#line (22,26)-(24,1) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
}
#line default
#line hidden
#nullable disable
__builder.CloseElement();
__builder.AddMarkupContent(11, "\r\n\r\n");
__builder.OpenElement(12, "p");
__builder.OpenElement(13, "strong");
__builder.AddContent(14, "Response from ");
#nullable restore
#line (26,27)-(26,45) 25 "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
__builder.AddContent(15, externalServiceUrl
#line default
#line hidden
#nullable disable
);
__builder.AddContent(16, ": ");
__builder.CloseElement();
#nullable restore
#line (27,2)-(29,1) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
if (externalServiceStatus == null)
{
#line default
#line hidden
#nullable disable
__builder.AddMarkupContent(17, "<em>loading...</em>");
#nullable restore
#line (30,1)-(33,5) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
}
else
{
#line default
#line hidden
#nullable disable
#nullable restore
#line (33,6)-(33,27) 25 "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
__builder.AddContent(18, externalServiceStatus
#line default
#line hidden
#nullable disable
);
#nullable restore
#line (33,27)-(35,1) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
}
#line default
#line hidden
#nullable disable
__builder.CloseElement();
__builder.AddMarkupContent(19, "\r\n\r\n");
__builder.AddMarkupContent(20, "<h2>Via YARP gateway</h2>\r\n");
__builder.OpenElement(21, "p");
__builder.AddMarkupContent(22, "<strong>NuGet API version: </strong>");
#nullable restore
#line (40,1)-(40,5) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
#line default
#line hidden
#nullable disable
#nullable restore
#line (40,6)-(42,1) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
if (gatewayNugetApiVersion == null)
{
#line default
#line hidden
#nullable disable
__builder.AddMarkupContent(23, "<em>loading...</em>");
#nullable restore
#line (43,1)-(46,9) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
}
else
{
#line default
#line hidden
#nullable disable
#nullable restore
#line (46,10)-(46,32) 25 "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
__builder.AddContent(24, gatewayNugetApiVersion
#line default
#line hidden
#nullable disable
);
#nullable restore
#line (46,32)-(48,1) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
}
#line default
#line hidden
#nullable disable
__builder.CloseElement();
__builder.AddMarkupContent(25, "\r\n\r\n");
__builder.OpenElement(26, "p");
__builder.OpenElement(27, "strong");
__builder.AddContent(28, "Response from ");
#nullable restore
#line (51,28)-(51,53) 25 "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
__builder.AddContent(29, gatewayExternalServiceUrl
#line default
#line hidden
#nullable disable
);
__builder.AddContent(30, ": ");
__builder.CloseElement();
#nullable restore
#line (52,1)-(52,5) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
#line default
#line hidden
#nullable disable
#nullable restore
#line (52,6)-(54,1) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
if (gatewayExternalServiceStatus == null)
{
#line default
#line hidden
#nullable disable
__builder.AddMarkupContent(31, "<em>loading...</em>");
#nullable restore
#line (55,1)-(58,9) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
}
else
{
#line default
#line hidden
#nullable disable
#nullable restore
#line (58,10)-(58,38) 25 "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
__builder.AddContent(32, gatewayExternalServiceStatus
#line default
#line hidden
#nullable disable
);
#nullable restore
#line (58,38)-(60,1) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
}
#line default
#line hidden
#nullable disable
__builder.CloseElement();
}
#pragma warning restore 1998
#nullable restore
#line (62,8)-(158,1) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
private string? externalServiceUrl;
private string? nugetApiVersion;
private string? externalServiceStatus;
private string? gatewayExternalServiceUrl;
private string? gatewayNugetApiVersion;
private string? gatewayExternalServiceStatus;
protected override async Task OnInitializedAsync()
{
var externalServiceClient = HttpClientFactory.CreateClient("external-service");
externalServiceUrl = externalServiceClient.BaseAddress?.ToString();
var externalServiceTask = GetExternalServiceStatus(externalServiceClient);
var nugetClient = HttpClientFactory.CreateClient("nuget");
var nugetTask = GetNuGetVersion(nugetClient);
var gatewayClient = HttpClientFactory.CreateClient("gateway");
gatewayExternalServiceUrl = new Uri(gatewayClient.BaseAddress!, "/external-service").ToString();
var gatewayExternalServiceTask = GetExternalServiceStatus(gatewayClient, "external-service");
var gatewayNugetTask = GetNuGetVersion(gatewayClient, "nuget");
externalServiceStatus = await externalServiceTask;
nugetApiVersion = await nugetTask;
gatewayExternalServiceStatus = await gatewayExternalServiceTask;
gatewayNugetApiVersion = await gatewayNugetTask;
}
private async Task<string> GetExternalServiceStatus(HttpClient client, string? pathPrefix = null)
{
try
{
var path = $"{pathPrefix}";
var response = await client.GetAsync(path);
return response.StatusCode.ToString();
}
catch (Exception ex)
{
return $"Error: {ex.Message}";
}
}
private async Task<string?> GetNuGetVersion(HttpClient client, string? pathPrefix = null)
{
try
{
var path = $"{pathPrefix}/v3/index.json";
var response = await client.GetAsync(path);
response.EnsureSuccessStatusCode();
using var contentStream = await response.Content.ReadAsStreamAsync();
return await GetPropertyValueAsync(contentStream, "version");
}
catch (Exception ex)
{
return $"Error: {ex.Message}";
}
}
public static async Task<string?> GetPropertyValueAsync(Stream jsonStream, string propertyName)
{
// Parse the JSON asynchronously until we get the version property
var buffer = new byte[256];
int bytesRead;
var jsonReaderState = new JsonReaderState();
while ((bytesRead = await jsonStream.ReadAsync(buffer)) > 0)
{
var span = new ReadOnlySpan<byte>(buffer, 0, bytesRead);
var reader = new Utf8JsonReader(span, isFinalBlock: false, state: jsonReaderState);
while (reader.Read())
{
if (reader.TokenType == JsonTokenType.PropertyName && reader.ValueTextEquals(propertyName))
{
// Read the next token to get the value
if (!reader.Read())
{
throw new JsonException("Unexpected end after 'version' property.");
}
if (reader.TokenType != JsonTokenType.String && reader.TokenType != JsonTokenType.Number)
{
throw new JsonException($"Unexpected token type for 'version': {reader.TokenType}");
}
return reader.GetString();
}
}
jsonReaderState = reader.CurrentState;
}
return null; // "version" not found
}
#line default
#line hidden
#nullable disable
[global::Microsoft.AspNetCore.Components.InjectAttribute] private
#nullable restore
#line (5,9)-(5,27) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
IHttpClientFactory
#line default
#line hidden
#nullable disable
#nullable restore
#line (5,28)-(5,45) "D:\a\_work\1\s\playground\ExternalServices\WebFrontEnd\Components\Pages\ExternalServices.razor"
HttpClientFactory
#line default
#line hidden
#nullable disable
{ get; set; }
= default!;
}
}
#pragma warning restore 1591
|