Как получить заголовок ответа в угловых - PullRequest
3 голосов
/ 16 мая 2019

Я пытаюсь получить заголовки из ответа http, если код ошибки 401 для дайджеста аутентификации.

Это мой код:

 this.http.post(this.hostname + ':10000/users/auth2', { })
        .subscribe(res => {
            console.log(res);
        },
        error => {
            console.log(error);
        });

Все работает нормально, если после почтового запроса возвращается код 200. Если я возвращаю код 401 из серверной части, я не могу получить доступ к заголовкам.

Chrome отладчик показывает заголовки. Звонок почтальона тоже отлично работает с дайджест-аутентификацией.

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Значение по умолчанию для параметра observe - body, измените его, добавив {observe: 'response'} к вашему post методу:

 this.http.post(this.hostname + ':10000/users/auth2', {}, {observe: 'response'})
    .subscribe(res => {
        console.log(res);
    },
    error => {
        console.log(error.headers);
    });
0 голосов
/ 16 мая 2019

У меня была очень похожая проблема, я хотел получить код состояния из ответа.

Закончилось сделать что-то подобное:

   return await this.http
        .post<any>(this.hostname + ':10000/users/auth2', {})
        .toPromise()
        .then(res => res.data, (err:HttpErrorResponse) => err.headers);
...