How to set headers for every request in Angular?

Technology CommunityCategory: AngularHow to set headers for every request in Angular?
VietMX Staff asked 3 years ago

You could provide a service that wraps the original Http object from Angular.

import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';

@Injectable() export class HttpClient {
    constructor(private http: Http) {}

    createAuthorizationHeader(headers: Headers) {
        headers.append('Authorization', 'Basic ' + btoa('username:password'));
    }

    get(url) {
        let headers = new Headers();
        this.createAuthorizationHeader(headers);
        return this.http.get(url, {
            headers: headers
        });
    }

    post(url, data) {
        let headers = new Headers();
        this.createAuthorizationHeader(headers);
        return this.http.post(url, data, {
            headers: headers
        });
    }
}

And instead of injecting the Http object you could inject this one (HttpClient).

import { HttpClient } from './http-client';