public async Task <ApiResponse <Fork> > GetNodeForkAsync(CancellationToken cancellationToken) { string uri = "node/fork"; using HttpResponseMessage httpResponse = await _httpClient.GetAsync(uri, HttpCompletionOption.ResponseHeadersRead, cancellationToken); httpResponse.EnsureSuccessStatusCode(); // throws if not 200-299 await using Stream contentStream = await httpResponse.Content.ReadAsStreamAsync(); ForkInformation content = await JsonSerializer.DeserializeAsync <ForkInformation>(contentStream, _jsonSerializerOptions, cancellationToken); return(ApiResponse.Create((StatusCode)(int)httpResponse.StatusCode, content.Fork)); }
public async Task <IActionResult> GetAsync(CancellationToken cancellationToken) { if (_logger.IsDebug()) { LogDebug.NodeForkRequested(_logger, null); } ApiResponse <Fork> apiResponse = await _beaconNode.GetNodeForkAsync(cancellationToken).ConfigureAwait(false); if (apiResponse.StatusCode == Core2.Api.StatusCode.Success) { ForkInformation forkInformation = new ForkInformation(0, apiResponse.Content); return(Ok(forkInformation)); } return(Problem("Beacon node internal error.", statusCode: (int)apiResponse.StatusCode)); }