getHeaders() не вызывается во втором запросе залпа в Android
Я работаю над oauth2
в моем проекте. Я делаю все мои сетевые запросы, используя Volley
, Мой запрос выглядит следующим образом.
Проблема:
Когда я делаю свой первый сетевой запрос, используя приведенный ниже код, он работает нормально. Но когда я делаю второй запрос (выход пользователя из системы или сеанс), используя приведенный ниже код. я получаю 502 Bad Gateway
ошибка. Сервер не может найти Header Authorization BEARER
, Что может быть причиной моей проблемы?
StringRequest request = new StringRequest(Request.Method.GET, GAConstants.READUSERPROFILE_DEV_URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e("HomeScreenActivity", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
dialog.dismiss();
NetworkResponse networkResponse = error.networkResponse;
String errorBody = null;
try {
errorBody = new String(error.networkResponse.data, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
MyApplication.logger.log("Get_ProfileFromLogin error :" + errorBody==null?"Error is null":errorBody);
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
String token = null;
if (accessToken != null) {
token = accessToken;
Log.e("HomeScreenActivity", token);
} else {
//No access token
ConsumerAppUtils.showTokenErrorAlertDialog(LoginActivity.this, getResources().getString(R.string.accesstoken_alert));
}
Map<String, String> params = new HashMap<>();
params.put("Content-Type", "application/json");
params.put(OAuthConstants.AUTHORIZATION,
OAuthConstants.BEARER + " " + token);
return params;
}
};
request.setRetryPolicy(new DefaultRetryPolicy(30000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Volley.newRequestQueue(this, hurlStack).add(request);