AsyncHttpClient отправляет пустое значение в заголовке авторизации - PullRequest
0 голосов
/ 30 ноября 2018

Я использую android-async-http для выполнения HTTP-вызовов в моем приложении для Android.

Мой сервер использует аутентификацию OAuth2, и мне нужно отправлять заголовок авторизации в каждом запросе.

Когда приложение запускается, оно делает несколько HTTP-запросов.В редких случаях запрос отправляется с пустым оценочным заголовком авторизации.Нет определенного способа воспроизвести эту проблему.

Я использую следующий метод для выполнения всех запросов.Этот метод добавляет заголовок авторизации.

private static AsyncHttpClient client = new AsyncHttpClient();

private static void get(final String url, final RequestParams params, boolean nonSecure, final CustomJsonResponseHandler responseHandler) {
        client.removeAllHeaders();
        String authToken = ApplicationEx.getAuthToken();
        if (TextUtils.isEmpty(authToken)) {
            LOGGER.warn("Auth token is empty");
        }
        client.addHeader("Authorization", "Bearer " + authToken);
        client.get(getAbsoluteUrl(url, nonSecure), params, responseHandler);
}

При возникновении проблемы видно, что authToken не пусто.Но каким-то образом сервер получил пустое значение для заголовка авторизации.Ниже приведена запись в моем бэкэнде, в которой он получил пустой заголовок авторизации.

/api/category/fetch -> {"content-length":"0","host":"my.host","connection":"Keep-Alive","accept-encoding":"gzip","authorization":""}

Я пытался проверить код в android-async-http, но не смог найти причину этой проблемы.У кого-нибудь есть идеи, как это может произойти?Есть ли способ, чтобы я мог понять, что не так?

...