Get status code http.get response angular2

Maurizio Rizzo picture Maurizio Rizzo · Apr 28, 2017 · Viewed 68.7k times · Source

I need to get the status code of the following http call and return it as a string

//This method must return the status of the http response
confirmEmail(mailToken):Observable<String>{

     return this.http.get(this.baseUrl+"users/activate?mailToken="+mailToken)
                     .map(this.extractData)
                     .catch(this.handleError);

}

thx!

Answer

Lucas picture Lucas · Oct 25, 2017

Adding answer for versions of Angular >= 4.3 (including 10) with new HttpClient that replaces http

import {HttpClientModule} from '@angular/common/http'; // Notice it is imported from @angular/common/http instead of @angular/http

How to get response code or any other header:

http.get(
   `${this.baseUrl}users/activate?mailToken=${mailToken}`,
    {observe: 'response'}
)
  .subscribe(response => {
    
    // You can access status:
    console.log(response.status);
    
    // Or any other header:
    console.log(response.headers.get('X-Custom-Header'));
  });

As noted in the comment by @Rbk,

The object {observe: 'response'} is what makes the full response object available.

Check Documentation