using static CompServ.CompServConst; namespace CompServ.ClientLibrary; public class CompServHubClient(string server) : CompServClient(server, ApiPathHubRootForCheckAlive, AliveMessageHub) { public async Task RegisterWorker(int port, int ratio) { var msg = ModelExtensionMethod.BuildWorkerRegisterRequestMessage(port, ratio); var httpResponseMessage = await new HttpClient() { BaseAddress = ServerUri }.SendAsync(msg); httpResponseMessage.EnsureSuccessStatusCode(); } public async Task UnRegisterWorker(int port) { var msg = ModelExtensionMethod.BuildWorkerUnRegisterRequestMessage(port); var httpResponseMessage = await new HttpClient() { BaseAddress = ServerUri }.SendAsync(msg); httpResponseMessage.EnsureSuccessStatusCode(); } public async Task GetWorker(CancellationToken cancellationToken) { var msg = ModelExtensionMethod.BuildClientGetWorkerRequest(); var httpResponseMessage = await new HttpClient() { BaseAddress = ServerUri }.SendAsync(msg, cancellationToken); httpResponseMessage.EnsureSuccessStatusCode(); var workerUrl = await httpResponseMessage.Content.ReadAsStringAsync(cancellationToken); return workerUrl; } }