io.airlift.http.client.Response类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(9.1k)|赞(0)|评价(0)|浏览(113)

本文整理了Java中io.airlift.http.client.Response类的一些代码示例,展示了Response类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Response类的具体详情如下:
包路径:io.airlift.http.client.Response
类名称:Response

Response介绍

暂无

代码示例

代码示例来源:origin: prestodb/presto

@Override
public ProxyResponse handle(Request request, Response response)
{
  if (response.getStatusCode() == NO_CONTENT.code()) {
    return new ProxyResponse(response.getHeaders(), new byte[0]);
  }
  if (response.getStatusCode() != OK.code()) {
    throw new ProxyException(format("Bad status code from remote Presto server: %s: %s", response.getStatusCode(), readBody(response)));
  }
  String contentType = response.getHeader(CONTENT_TYPE);
  if (contentType == null) {
    throw new ProxyException("No Content-Type set in response from remote Presto server");
  }
  if (!MediaType.parse(contentType).is(MEDIA_TYPE_JSON)) {
    throw new ProxyException("Bad Content-Type from remote Presto server:" + contentType);
  }
  try {
    return new ProxyResponse(response.getHeaders(), toByteArray(response.getInputStream()));
  }
  catch (IOException e) {
    throw new ProxyException("Failed reading response from remote Presto server", e);
  }
}

代码示例来源:origin: prestodb/presto

@Override
  public Optional<QueryStats> handle(Request request, Response response)
  {
    if (response.getStatusCode() == HttpStatus.GONE.code()) {
      return Optional.empty();
    }
    else if (response.getStatusCode() != HttpStatus.OK.code()) {
      throw new RuntimeException("unexpected error code " + response.getStatusCode() + "; reason=" + response.getStatusMessage());
    }
    try {
      JsonNode rootNode = objectMapper.readTree(response.getInputStream());
      JsonNode queryStatsNode = rootNode.get("queryStats");
      if (queryStatsNode == null) {
        return Optional.empty();
      }
      QueryStats queryStats = objectMapper.treeToValue(queryStatsNode, QueryStats.class);
      return Optional.of(queryStats);
    }
    catch (IOException e) {
      throw new UncheckedIOException(e);
    }
  }
}

代码示例来源:origin: prestodb/presto

@Override
  public InputStream handle(Request request, io.airlift.http.client.Response response)
  {
    try {
      if (APPLICATION_JSON.equals(response.getHeader(CONTENT_TYPE))) {
        return response.getInputStream();
      }
      throw new RuntimeException("Response received was not of type " + APPLICATION_JSON);
    }
    catch (IOException e) {
      throw new RuntimeException("Unable to read response from worker", e);
    }
  }
}

代码示例来源:origin: airlift/airlift

@Override
  public T handle(Request request, Response response)
  {
    if (!successfulResponseCodes.contains(response.getStatusCode())) {
      return defaultValue;
    }
    String contentType = response.getHeader(CONTENT_TYPE);
    if (contentType != null && !MediaType.parse(contentType).is(MEDIA_TYPE_JSON)) {
      return defaultValue;
    }
    try {
      return jsonCodec.fromJson(ByteStreams.toByteArray(response.getInputStream()));
    }
    catch (Exception e) {
      return defaultValue;
    }
  }
}

代码示例来源:origin: airlift/airlift

public UnexpectedResponseException(Request request, Response response)
{
  this(String.format("%d: %s", response.getStatusCode(), response.getStatusMessage()),
      request,
      response.getStatusCode(),
      response.getStatusMessage(),
      ImmutableListMultimap.copyOf(response.getHeaders()));
}

代码示例来源:origin: prestodb/presto

private void cancelQuery(String sql)
    throws InterruptedException
{
  Stopwatch stopwatch = Stopwatch.createStarted();
  while (stopwatch.elapsed(SECONDS) < 30) {
    String findQuerySql = "SELECT query_id from system.runtime.queries WHERE query = '%s' and state = 'RUNNING' LIMIT 2";
    QueryResult queryResult = query(format(findQuerySql, sql));
    checkState(queryResult.getRowsCount() < 2, "Query is executed multiple times");
    if (queryResult.getRowsCount() == 1) {
      String queryId = (String) queryResult.row(0).get(0);
      Response response = queryCanceller.cancel(queryId);
      Assertions.assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT.code());
      return;
    }
    MILLISECONDS.sleep(100L);
  }
  throw new IllegalStateException("Query did not reach running state or maybe it was too quick.");
}

代码示例来源:origin: prestodb/presto

private static String readBody(Response response)
{
  try {
    return new String(toByteArray(response.getInputStream()), US_ASCII);
  }
  catch (IOException e) {
    return "";
  }
}

代码示例来源:origin: io.airlift.discovery/discovery-server

@Override
  public Void handle(Request request, Response response)
      throws Exception
  {
    // TODO: read server date (to use to calibrate entry dates)
    if (response.getStatusCode() == 200) {
      try {
        List<Entry> entries = mapper.readValue(response.getInputStream(), new TypeReference<List<Entry>>() {});
        for (Entry entry : entries) {
          localStore.put(entry);
        }
      }
      catch (EOFException e) {
        // ignore
      }
    }
    return null;
  }
});

代码示例来源:origin: prestodb/presto

private static long getToken(Response response)
{
  String tokenHeader = response.getHeader(PRESTO_PAGE_TOKEN);
  if (tokenHeader == null) {
    throw new PageTransportErrorException(format("Expected %s header", PRESTO_PAGE_TOKEN));
  }
  return Long.parseLong(tokenHeader);
}

代码示例来源:origin: airlift/airlift

@Test
public void testResponseHeadersCaseInsensitive()
    throws Exception
{
  URI uri = baseURI.resolve("/road/to/nowhere");
  Request request = prepareGet()
      .setUri(uri)
      .build();
  Response response = executeRequest(request, new PassThroughResponseHandler());
  assertNotNull(response.getHeader("date"));
  assertNotNull(response.getHeader("DATE"));
  assertEquals(response.getHeaders("date").size(), 1);
  assertEquals(response.getHeaders("DATE").size(), 1);
}

代码示例来源:origin: airlift/airlift

state.set("DONE");
stats.recordResponseReceived(request.getMethod(),
    response.getStatusCode(),
    response.getBytesRead(),
    response.getBytesRead(),
    requestProcessingTime,
    Duration.nanosSince(responseStart));

代码示例来源:origin: io.airlift/http-client-experimental

@Override
  public String handle(Request request, Response response)
      throws Exception
  {
    return response.getStatusMessage();
  }
});

代码示例来源:origin: airlift/airlift

@Nullable
default String getHeader(String name)
{
  List<String> values = getHeaders(name);
  return values.isEmpty() ? null : values.get(0);
}

代码示例来源:origin: io.airlift/discovery-experimental

@Override
  public ServiceDescriptors handle(Request request, Response response)
  {
    Duration maxAge = extractMaxAge(response);
    String eTag = response.getHeader(HttpHeaders.ETAG);
    if (NOT_MODIFIED.code() == response.getStatusCode() && serviceDescriptors != null) {
      return new ServiceDescriptors(serviceDescriptors, maxAge, eTag);
    }
    if (OK.code() != response.getStatusCode()) {
      throw new DiscoveryException(format("Lookup of %s failed with status code %s", type, response.getStatusCode()));
    }
    String json;
    try {
      json = CharStreams.toString(new InputStreamReader(response.getInputStream(), Charsets.UTF_8));
    }
    catch (IOException e) {
      throw new DiscoveryException(format("Lookup of %s failed", type), e);
    }
    ServiceDescriptorsRepresentation serviceDescriptorsRepresentation = serviceDescriptorsCodec.fromJson(json);
    if (!environment.equals(serviceDescriptorsRepresentation.getEnvironment())) {
      throw new DiscoveryException(format("Expected environment to be %s, but was %s", environment, serviceDescriptorsRepresentation.getEnvironment()));
    }
    return new ServiceDescriptors(
        type,
        pool,
        serviceDescriptorsRepresentation.getServiceDescriptors(),
        maxAge,
        eTag);
  }
});

代码示例来源:origin: airlift/airlift

@Override
public StatusResponse handle(Request request, Response response)
{
  return new StatusResponse(response.getStatusCode(), response.getStatusMessage(), response.getHeaders());
}

代码示例来源:origin: com.teradata.airlift/discovery

@Override
  public Duration handle(Request request, Response response)
      throws DiscoveryException
  {
    int statusCode = response.getStatusCode();
    if (!isSuccess(statusCode)) {
      throw new DiscoveryException(String.format("Announcement failed with status code %s: %s", statusCode, getBodyForError(response)));
    }
    Duration maxAge = extractMaxAge(response);
    return maxAge;
  }
});

代码示例来源:origin: airlift/airlift

private static String getBodyForError(Response response)
{
  try {
    return CharStreams.toString(new InputStreamReader(response.getInputStream(), UTF_8));
  }
  catch (IOException e) {
    return "(error getting body)";
  }
}

代码示例来源:origin: org.rakam/rakam-clickhouse

@Override
  public ClickHouseQueryResult handle(Request request, Response response)
      throws RuntimeException
  {
    if (response.getStatusCode() != 200) {
      try {
        String message = CharStreams.toString(new InputStreamReader(response.getInputStream()));
        message = message.split(", Stack trace:\n", 2)[0];
        throw new RakamException(message, BAD_GATEWAY);
      }
      catch (IOException e) {
        throw new RakamException("An error occurred", BAD_GATEWAY);
      }
    }
    try {
      return JsonHelper.read(response.getInputStream(), ClickHouseQueryResult.class);
    }
    catch (IOException e) {
      LOGGER.error(e, "An error occurred while reading query results");
      throw new RakamException("An error occurred while reading query results: " + e.getMessage(),
          INTERNAL_SERVER_ERROR);
    }
  }
}

代码示例来源:origin: prestodb/presto

private static boolean getComplete(Response response)
{
  String bufferComplete = response.getHeader(PRESTO_BUFFER_COMPLETE);
  if (bufferComplete == null) {
    throw new PageTransportErrorException(format("Expected %s header", PRESTO_BUFFER_COMPLETE));
  }
  return Boolean.parseBoolean(bufferComplete);
}

代码示例来源:origin: io.prestosql/presto-main

@Override
  public InputStream handle(Request request, io.airlift.http.client.Response response)
  {
    try {
      if (APPLICATION_JSON.equals(response.getHeader(CONTENT_TYPE))) {
        return response.getInputStream();
      }
      throw new RuntimeException("Response received was not of type " + APPLICATION_JSON);
    }
    catch (IOException e) {
      throw new RuntimeException("Unable to read response from worker", e);
    }
  }
}

相关文章