本文整理汇总了Java中com.squareup.okhttp.OkAuthenticator类的典型用法代码示例。如果您正苦于以下问题:Java OkAuthenticator类的具体用法?Java OkAuthenticator怎么用?Java OkAuthenticator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
OkAuthenticator类属于com.squareup.okhttp包,在下文中一共展示了OkAuthenticator类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: processAuthHeader
import com.squareup.okhttp.OkAuthenticator; //导入依赖的package包/类
/**
* React to a failed authorization response by looking up new credentials.
*
* @return true if credentials have been added to successorRequestHeaders
* and another request should be attempted.
*/
public static boolean processAuthHeader(OkAuthenticator authenticator, int responseCode, RawHeaders responseHeaders, RawHeaders successorRequestHeaders, Proxy proxy, URL url) throws IOException {
String responseField;
String requestField;
if (responseCode == HTTP_UNAUTHORIZED) {
responseField = "WWW-Authenticate";
requestField = "Authorization";
} else if (responseCode == HTTP_PROXY_AUTH) {
responseField = "Proxy-Authenticate";
requestField = "Proxy-Authorization";
} else {
throw new IllegalArgumentException(); // TODO: ProtocolException?
}
List<Challenge> challenges = parseChallenges(responseHeaders, responseField);
if (challenges.isEmpty()) {
return false; // Could not find a challenge so end the request cycle.
}
Credential credential = responseHeaders.getResponseCode() == HTTP_PROXY_AUTH ? authenticator.authenticateProxy(proxy, url, challenges) : authenticator.authenticate(proxy, url, challenges);
if (credential == null) {
return false; // Could not satisfy the challenge so end the request cycle.
}
// Add authorization credentials, bypassing the already-connected check.
successorRequestHeaders.set(requestField, credential.getHeaderValue());
return true;
}
示例2: processAuthHeader
import com.squareup.okhttp.OkAuthenticator; //导入依赖的package包/类
/**
* React to a failed authorization response by looking up new credentials.
* Returns a request for a subsequent attempt, or null if no further attempts
* should be made.
*/
public static Request processAuthHeader(
OkAuthenticator authenticator, Response response, Proxy proxy) throws IOException {
String responseField;
String requestField;
if (response.code() == HTTP_UNAUTHORIZED) {
responseField = "WWW-Authenticate";
requestField = "Authorization";
} else if (response.code() == HTTP_PROXY_AUTH) {
responseField = "Proxy-Authenticate";
requestField = "Proxy-Authorization";
} else {
throw new IllegalArgumentException(); // TODO: ProtocolException?
}
List<Challenge> challenges = parseChallenges(response.headers(), responseField);
if (challenges.isEmpty()) return null; // Could not find a challenge so end the request cycle.
Request request = response.request();
Credential credential = response.code() == HTTP_PROXY_AUTH
? authenticator.authenticateProxy(proxy, request.url(), challenges)
: authenticator.authenticate(proxy, request.url(), challenges);
if (credential == null) return null; // Couldn't satisfy the challenge so end the request cycle.
// Add authorization credentials, bypassing the already-connected check.
return request.newBuilder().header(requestField, credential.getHeaderValue()).build();
}
示例3: processAuthHeader
import com.squareup.okhttp.OkAuthenticator; //导入依赖的package包/类
/**
* React to a failed authorization response by looking up new credentials.
*
* @return true if credentials have been added to successorRequestHeaders
* and another request should be attempted.
*/
public static boolean processAuthHeader(OkAuthenticator authenticator, int responseCode,
RawHeaders responseHeaders, RawHeaders successorRequestHeaders, Proxy proxy, URL url)
throws IOException {
String responseField;
String requestField;
if (responseCode == HTTP_UNAUTHORIZED) {
responseField = "WWW-Authenticate";
requestField = "Authorization";
} else if (responseCode == HTTP_PROXY_AUTH) {
responseField = "Proxy-Authenticate";
requestField = "Proxy-Authorization";
} else {
throw new IllegalArgumentException(); // TODO: ProtocolException?
}
List<Challenge> challenges = parseChallenges(responseHeaders, responseField);
if (challenges.isEmpty()) {
return false; // Could not find a challenge so end the request cycle.
}
Credential credential = responseHeaders.getResponseCode() == HTTP_PROXY_AUTH
? authenticator.authenticateProxy(proxy, url, challenges)
: authenticator.authenticate(proxy, url, challenges);
if (credential == null) {
return false; // Could not satisfy the challenge so end the request cycle.
}
// Add authorization credentials, bypassing the already-connected check.
successorRequestHeaders.set(requestField, credential.getHeaderValue());
return true;
}