本文整理匯總了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);
}
}
}