Advertisement
Guest User

Untitled

a guest
Dec 4th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. /**
  2. * Authentication Service:
  3. *
  4. * Contains the http request logic to authenticate the
  5. * user.
  6. */
  7. import { Injectable } from '@angular/core';
  8. import { Http, Response, Headers, RequestOptions } from '@angular/http';
  9.  
  10. import 'rxjs/Rx';
  11. import { Observable } from 'rxjs/Observable';
  12.  
  13. import { AuthToken } from './auth-token.service';
  14.  
  15. import { User } from '../../shared/models/user.model';
  16.  
  17. @Injectable()
  18. export class Authenticate {
  19.  
  20. constructor(
  21. private http: Http,
  22. private authToken: AuthToken
  23. ) {}
  24.  
  25. post(user: User): Observable<any> {
  26. let url = 'http://localhost:4000/';
  27. let body = JSON.stringify(user);
  28. let headers = new Headers({ 'content-type': 'application/json' });
  29. let options = new RequestOptions({ headers: headers });
  30.  
  31. return this.http.post(url + 'login', body, options)
  32. .map(this.handleData)
  33. .catch(this.handleError);
  34. }
  35.  
  36. private storeToken(token: string) {
  37. this.authToken.setToken(token);
  38. }
  39.  
  40. private handleData(res: Response) {
  41. let body = res.json();
  42. this.storeToken(body.token);
  43. return body.fields || {};
  44. }
  45.  
  46. private handleError(error: any) {
  47. console.error('post error: ', error);
  48. return Observable.throw(error.statusText);
  49. }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement