@@ -11,7 +11,9 @@ namespace Aspire.Hosting.OpenAI;
1111/// </summary>
1212internal sealed class OpenAIHealthCheck : IHealthCheck
1313{
14- private const string DefaultEndpoint = "https://api.openai.com/v1" ;
14+ private static readonly Uri s_defaultEndpointUri = new ( "https://api.openai.com/v1" ) ;
15+ private static readonly Uri s_statusPageUri = new ( "https://status.openai.com/api/v2/status.json" ) ;
16+
1517 private readonly IHttpClientFactory _httpClientFactory ;
1618 private readonly OpenAIResource _resource ;
1719 private readonly string ? _httpClientName ;
@@ -40,8 +42,7 @@ public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context
4042 {
4143 // Case 1: Default endpoint - check StatusPage
4244 if ( Uri . TryCreate ( _resource . Endpoint , UriKind . Absolute , out var endpointUri ) &&
43- Uri . TryCreate ( DefaultEndpoint , UriKind . Absolute , out var defaultUri ) &&
44- Uri . Compare ( endpointUri , defaultUri , UriComponents . SchemeAndServer , UriFormat . Unescaped , StringComparison . OrdinalIgnoreCase ) == 0 )
45+ Uri . Compare ( endpointUri , s_defaultEndpointUri , UriComponents . SchemeAndServer , UriFormat . Unescaped , StringComparison . OrdinalIgnoreCase ) == 0 )
4546 {
4647 return await CheckStatusPageAsync ( cancellationToken ) . ConfigureAwait ( false ) ;
4748 }
@@ -59,12 +60,10 @@ private async Task<HealthCheckResult> CheckStatusPageAsync(CancellationToken can
5960 ? _httpClientFactory . CreateClient ( )
6061 : _httpClientFactory . CreateClient ( _httpClientName ) ;
6162
62- var statusEndpoint = new Uri ( "https://status.openai.com/api/v2/status.json" ) ;
63-
6463 using var cts = CancellationTokenSource . CreateLinkedTokenSource ( cancellationToken ) ;
6564 cts . CancelAfter ( _timeout ) ;
6665
67- using var req = new HttpRequestMessage ( HttpMethod . Get , statusEndpoint ) ;
66+ using var req = new HttpRequestMessage ( HttpMethod . Get , s_statusPageUri ) ;
6867 req . Headers . Accept . ParseAdd ( "application/json" ) ;
6968
7069 HttpResponseMessage resp ;
@@ -113,7 +112,7 @@ private async Task<HealthCheckResult> CheckStatusPageAsync(CancellationToken can
113112 {
114113 [ "indicator" ] = indicator ,
115114 [ "description" ] = description ,
116- [ "endpoint" ] = statusEndpoint . ToString ( )
115+ [ "endpoint" ] = s_statusPageUri . ToString ( )
117116 } ;
118117
119118 // Map indicator -> HealthStatus
0 commit comments