1

So basically I need to add custom auth header to all requests referred to API. In constructor I want to add this header and then in the class methods just use this.http

import { Injectable } from '@angular/core';

import { Config, Events } from 'ionic-angular';

import { Http } from '@angular/http';


@Injectable()

export class APIRequest {

    constructor (
        private http: Http,
        private config: Config,
    ) { 
        this.http.headers.append('My-Custom-Header','MyCustomHeaderValue');
    }
}
3
  • Possible duplicate of Angular2 - set headers for every request Commented Dec 13, 2016 at 7:37
  • @SabbirRahman no, i dont want to set header in each method. I need to set it once in constructor. Commented Dec 13, 2016 at 7:39
  • You can create anther service and wrap HTTP there. So there are post, get, .... with your custom header. Commented Dec 13, 2016 at 8:04

1 Answer 1

2

I use common fuction this way for headers

let method = 'POST';

let requestOptions: RequestOptions = new RequestOptions({
headers: this.jsonHeaders(),
method: method
});

jsonHeaders() // Function

public jsonHeaders(): Headers {
let headers: Headers = new Headers();
headers.append('Content-Type', 'application/json; charset=utf-8');
headers.append("Cache-Control", "no-cache");
headers.append("Cache-Control", "no-store");
headers.append("If-Modified-Since", "Mon, 26 Jul 1997 05:00:00 GMT");

if(this.token) {
headers.append('Authorization', 'Bearer ' + this.token);
}

return headers;
}

HTTP Request

let url = '/login'
this.http.request(url, requestOptions)
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.