private async Task getOcspResponceAsync()

in net/JetBrains.SignatureVerifier/src/Crypt/OcspVerifier.cs [106:135]


    private async Task<OcspResp> getOcspResponceAsync(string ocspResponderUrl, OcspReq request, TimeSpan timeout)
    {
      if (!ocspResponderUrl.StartsWith("http"))
      {
        _logger.Error("Only http(s) is supported for OCSP calls");
        return null;
      }

      _logger.Trace($"OCSP request: {ocspResponderUrl}");

      try
      {
        byte[] array = request.GetEncoded();
        using var httpClient = new HttpClient();
        httpClient.Timeout = timeout;
        httpClient.DefaultRequestHeaders.Accept.Add(
          new MediaTypeWithQualityHeaderValue(OCSP_RESPONSE_TYPE));
        var content = new ByteArrayContent(array);
        content.Headers.ContentType = new MediaTypeHeaderValue(OCSP_REQUEST_TYPE);
        var response = await httpClient.PostAsync(ocspResponderUrl, content);
        var responseStream = await response.Content.ReadAsStreamAsync();
        return new OcspResp(responseStream);
      }
      catch (Exception ex)
      {
        var msg = $"Cannot get OCSP response for url: {ocspResponderUrl}";
        _logger.Error(msg);
        throw new Exception(msg, ex);
      }
    }