() { @O-6ren">
gpt4 book ai didi

java - 在我的响应中获取 302 重定向的 HttpException

转载 作者:行者123 更新时间:2023-11-30 04:57:42 27 4
gpt4 key购买 nike

Api.initOAuthDiscoverConfig("url")
.flatMap(new Function<String, ObservableSource<String>>() {
@Override
public ObservableSource<String> apply(String jsonString) throws Exception {

Log.i(TAG, " initOAuthDiscoverConfig " + jsonString);
JSONObject jsonObject = new JSONObject(jsonString);

String nonce = UUID.randomUUID().toString();
String state = nonce.split("-")[0];
return Api.initOAuthLogin(jsonObject.getString("authorization_endpoint") + "?" +
"scope=" +
"response_type=code&\n" +
"client_id=" +
"redirect_uri=" +
"state=" + getAlphaNumericString(12) + "&" +
"nonce=" + getAlphaNumericString(10) + "&" +
"prompt=login");
}
}).flatMap(new Function<String, ObservableSource<String>>() {
@Override
public ObservableSource<String> apply(String authLoginString) throws Exception {
Log.i(TAG, " initOAuthLogin " + authLoginString);
RequestBody requestBody = RequestBody.create("loginForm=loginForm&" +
"javax.faces.ViewState=stateless&" +
"loginForm:username=" +
"loginForm:password=" +
"loginForm:loginButton=Sign In", MediaType.parse("Content-Type:application/x-www-form-urlencoded*"));
return Api.OAuthLoginForm("url", requestBody);
}
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<String>() {
@Override
public void onNext(String loginResponseString) {
Log.i(TAG, " OAuthLoginForm " + loginResponseString);
hideProgress();
Toast.makeText(this, "onNext called", Toast.LENGTH_SHORT).show();
}

@Override
public void onError(Throwable e) {
hideProgress();
showAlertDialog(getString(R.string.something_went_wrong), false);
Toast.makeText(this, "onError called", Toast.LENGTH_SHORT).show();
HttpException error = (HttpException)e;
String errorBody = error.response().errorBody().toString();
Log.d(TAG, "onError: "+ errorBody);
}

@Override
public void onComplete() {

}
});

它每次都会进入 onError,而不是 subscribeWith 中的 onNext。不知道哪里出了问题。感谢任何帮助。

根据我的理解,我认为 DisposableObserver 中存在一些问题。 (也许我错了)。

P.S:- 对 Rxjava 的经验不多

最佳答案

根据实现 onErrorResumeNext 函数的评论中的讨论,解决了这个问题。

关于java - 在我的响应中获取 302 重定向的 HttpException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58842158/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com