本文整理了Java中io.airlift.http.client.Response
类的一些代码示例,展示了Response
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Response
类的具体详情如下:
包路径:io.airlift.http.client.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);
}
}
}
内容来源于网络,如有侵权,请联系作者删除!