diff --git a/Src/Dlhis.Middle/Apis/Handlers/ClientHandler.cs b/Src/Dlhis.Middle/Apis/Handlers/ClientHandler.cs
index fa3b1694..43f4031d 100644
--- a/Src/Dlhis.Middle/Apis/Handlers/ClientHandler.cs
+++ b/Src/Dlhis.Middle/Apis/Handlers/ClientHandler.cs
@@ -7,7 +7,7 @@ public class ClientHandler : IHttpRemoteCallPolicyHandler
///
public IHttpClientBuilder ConfigureHttpClient(IHttpClientBuilder builder)
{
- builder.ConfigureHttpClient(client => { client.Timeout = TimeSpan.FromSeconds(10); }).ConfigurePrimaryHttpMessageHandler(() =>
+ builder.ConfigureHttpClient(client => { client.Timeout = TimeSpan.FromMinutes(5); }).ConfigurePrimaryHttpMessageHandler(() =>
{
var handler = new HttpClientHandler
{
@@ -17,7 +17,7 @@ public class ClientHandler : IHttpRemoteCallPolicyHandler
return handler;
});
-
+
return builder;
}
}
\ No newline at end of file
diff --git a/Src/Dlhis.Middle/Apis/Handlers/HealthzClientHandler.cs b/Src/Dlhis.Middle/Apis/Handlers/HealthzClientHandler.cs
new file mode 100644
index 00000000..9cffe733
--- /dev/null
+++ b/Src/Dlhis.Middle/Apis/Handlers/HealthzClientHandler.cs
@@ -0,0 +1,23 @@
+using Kurisu.RemoteCall.Abstractions;
+
+namespace Dlhis.Middle.Apis.Handlers;
+
+public class HealthzClientHandler : IHttpRemoteCallPolicyHandler
+{
+ ///
+ public IHttpClientBuilder ConfigureHttpClient(IHttpClientBuilder builder)
+ {
+ builder.ConfigureHttpClient(client => { client.Timeout = TimeSpan.FromSeconds(10); }).ConfigurePrimaryHttpMessageHandler(() =>
+ {
+ var handler = new HttpClientHandler
+ {
+ ClientCertificateOptions = ClientCertificateOption.Manual,
+ ServerCertificateCustomValidationCallback = (_, _, _, _) => true
+ };
+
+ return handler;
+ });
+
+ return builder;
+ }
+}
\ No newline at end of file
diff --git a/Src/Dlhis.Middle/Apis/ICommonApi.cs b/Src/Dlhis.Middle/Apis/ICommonApi.cs
index b44214fc..558dd19a 100644
--- a/Src/Dlhis.Middle/Apis/ICommonApi.cs
+++ b/Src/Dlhis.Middle/Apis/ICommonApi.cs
@@ -12,11 +12,17 @@ public interface ICommonApi
[Post("/api/user/oauth2/clientgrant")]
public Task> AuthAsync(object request);
- [Auth(TokenHandler = typeof(FaceBearerTokenHandler))]
- [Post("/api/common/middles/healthz")]
- public Task CheckHealthAsync(HealthCheckRequest request);
-
[Auth(TokenHandler = typeof(FaceBearerTokenHandler))]
[Get("/api/common/SysData/download")]
public Task>> DownloadAsync(string factory, string tableName);
+}
+
+//HealthzClientHandler
+
+[EnableRemoteClient(Name = "face-service", BaseUrl = "${BaseUrl}", PolicyHandler = typeof(HealthzClientHandler))]
+public interface IHealthzApi
+{
+ [Auth(TokenHandler = typeof(FaceBearerTokenHandler))]
+ [Post("/api/common/middles/healthz")]
+ public Task CheckHealthAsync(HealthCheckRequest request);
}
\ No newline at end of file
diff --git a/Src/Dlhis.Middle/Services/Implements/HealthcheckService.cs b/Src/Dlhis.Middle/Services/Implements/HealthcheckService.cs
index 3b44aa94..1feee1d4 100644
--- a/Src/Dlhis.Middle/Services/Implements/HealthcheckService.cs
+++ b/Src/Dlhis.Middle/Services/Implements/HealthcheckService.cs
@@ -9,14 +9,14 @@ public class HealthCheckService : IHealthCheckService
private bool _isOffline;
private readonly ILogger _logger;
private readonly ISettingService _settingService;
- private readonly ICommonApi _healthCheckApi;
+ private readonly IHealthzApi _healthCheckApi;
private int _attempted;
private bool _isBegin;
public HealthCheckService(ILogger logger,
ISettingService settingService,
- ICommonApi healthCheckApi)
+ IHealthzApi healthCheckApi)
{
_logger = logger;
_settingService = settingService;