Я не получаю фактические заголовки http, когда выполняю пост-вызов http, используя Angular 5 common httpClient.Я передаю наблюдение: «ответ» в запросе, чтобы получить полный ответ (по умолчанию httpClient возвращает только тело в ответе).
Я хочу прочитать значение csrftoken из ответа заголовка http.Я вижу, что csrftoken доступен в заголовках ответов с использованием сетевого представления браузера Chrome.
Но то же самое недоступно при чтении ответа httpClient в Angular.
post(inURL, data, config = undefined) {
let headers, options;
if (config){
options = config;
} else {
//headers = this.getDefaultHeader();
//options = new RequestOptions({ headers: headers });
options = httpOptions;
}
options = { ...options, observe: 'response' };
let action = this.httpService.post(inURL, data, options);
return new Promise((resolve, reject) => {
action.subscribe(
response => resolve(response),
error => {
this.interceptError(error);
reject(error);
}
);
});
}
и объект заголовков ответов выглядит так во время отладки в отладчике Chrome, поскольку вы видите, что csrftoken недоступен в качестве ключа для объекта ответа
Вот что у меня есть для доступа к httpheaders
let headers: HttpHeaders = response.headers;
if (headers && headers['csrftoken']) {
let token: String = headers.get('csrftoken');
}