Advertisement
Guest User

Untitled

a guest
Aug 24th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. import { Injectable } from '@angular/core';
  2. import { Http, Headers, Response } from '@angular/http';
  3. import { environment } from '../../environments/environment';
  4. import { ErrorHandlerService } from './error-handler.service';
  5. import { tokenNotExpired, JwtHelper } from 'angular2-jwt';
  6. @Injectable()
  7. export class HttpClient {
  8. jwtHelper: JwtHelper = new JwtHelper();
  9. count = 1;
  10. constructor(private http: Http, private _errorHandler: ErrorHandlerService)
  11. { }
  12. createAuthorizationHeader(headers: Headers) {
  13. let token = '';
  14. if (sessionStorage.getItem('token')) {
  15. token = sessionStorage.getItem('token')
  16. }
  17. if (token && typeof token === 'string') {
  18. if (this.jwtHelper.isTokenExpired(token) && this.count === 1) {
  19. this.refreshToken()
  20. }
  21. else {
  22. headers.append('Authorization', 'Bearer ' + token);
  23. }
  24. }
  25. }
  26.  
  27. get(url) {
  28. const headers = new Headers();
  29. this.createAuthorizationHeader(headers);
  30. return this.http.get(url, {
  31. headers: headers
  32. });
  33. }
  34. refreshToken(): any {
  35. this.getRefreshAWSToken(sessionStorage.getItem('refresh_token'))
  36. .then(resp => {
  37. return this.getwithheader(environment.BASE_URL + '/token', JSON.parse(resp).id_token).toPromise()
  38. .then((resp1: Response) => {
  39. console.log(resp1)
  40. const newJwttoken = JSON.parse(resp1.text()).token;
  41. sessionStorage.setItem('token', newJwttoken);
  42. const headers = new Headers();
  43. headers.append('Authorization', 'Bearer ' + newJwttoken);
  44. })
  45. .catch(err => this._errorHandler.handleError(err));
  46. });
  47. }
  48. }
  49.  
  50. import { Injectable } from '@angular/core';
  51. import { Http, Response } from '@angular/http';
  52. import 'rxjs/add/operator/toPromise';
  53. import { DataTableParams } from 'angular-4-data-table';
  54. import { SharedService } from './shared.service';
  55. import { HttpClient } from './http.service';
  56. import { Observable } from 'rxjs/rx';
  57. import { ErrorHandlerService } from './error-handler.service';
  58. @Injectable()
  59. export class DeviceService {
  60. BASE_URL: String;
  61. constructor(private http: HttpClient,
  62. private _sharedService: SharedService,
  63. private _errorHandler: ErrorHandlerService) {
  64. this.BASE_URL = this._sharedService.BASE_URL;
  65. };
  66.  
  67.  
  68. getCarriers(): any {
  69. return this.http.get(this.BASE_URL + '/lookup/carriers').toPromise()
  70. .then((resp: Response) => resp.text())
  71. .catch(err => this._errorHandler.handleError(err));
  72. }
  73. }
  74.  
  75. get(url) {
  76. const headers = new Headers();
  77. this.createAuthorizationHeader(headers,function(){
  78. return this.http.get(url, {headers: headers});
  79. });
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement