本文整理汇总了Java中java.net.HttpURLConnection.HTTP_UNAVAILABLE属性的典型用法代码示例。如果您正苦于以下问题:Java HttpURLConnection.HTTP_UNAVAILABLE属性的具体用法?Java HttpURLConnection.HTTP_UNAVAILABLE怎么用?Java HttpURLConnection.HTTP_UNAVAILABLE使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类java.net.HttpURLConnection
的用法示例。
在下文中一共展示了HttpURLConnection.HTTP_UNAVAILABLE属性的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getThrowable
@NonNull
private Throwable getThrowable(String message, int code, Throwable throwable) {
Throwable exception;
switch (code) {
case HttpURLConnection.HTTP_NOT_FOUND:
exception = new NotFoundException();
break;
case HttpURLConnection.HTTP_FORBIDDEN:
exception = new UnauthorizedException();
break;
case HttpURLConnection.HTTP_UNAUTHORIZED:
exception = new UncheckedException(message);
break;
case HttpURLConnection.HTTP_INTERNAL_ERROR:
exception = new ServerNotAvailableException();
break;
case HttpURLConnection.HTTP_NOT_IMPLEMENTED:
case HttpURLConnection.HTTP_BAD_GATEWAY:
case HttpURLConnection.HTTP_UNAVAILABLE:
case HttpURLConnection.HTTP_GATEWAY_TIMEOUT:
exception = new ServerException(throwable);
break;
default:
exception = new UncheckedException(message);
break;
}
return exception;
}
示例2: send
public byte[] send(byte[] request) {
// TODO back-off policy?
while (true) {
try {
final HttpURLConnection connection = openConnection();
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setDoOutput(true);
try (DataOutputStream wr = new DataOutputStream(connection.getOutputStream())) {
wr.write(request);
wr.flush();
wr.close();
}
final int responseCode = connection.getResponseCode();
final InputStream inputStream;
if (responseCode == HttpURLConnection.HTTP_UNAVAILABLE) {
// Could be sitting behind a load-balancer, try again.
continue;
} else if (responseCode != HttpURLConnection.HTTP_OK) {
inputStream = connection.getErrorStream();
if (inputStream == null) {
// HTTP Transport exception that resulted in no content coming back
throw new RuntimeException("Failed to read data from the server: HTTP/" + responseCode);
}
} else {
inputStream = connection.getInputStream();
}
return AvaticaUtils.readFullyToBytes(inputStream);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}