Hakeem
Hakeem

Reputation: 13

issue with post request http header angular 4

register(
    email: string,
    password: string,
    firstName: string,
    lastName: string,
): Observable<any> {
    const headers = new HttpHeaders()
        .set('Authorization', "Basic " + btoa(email + ":" + password + ":" + firstName + ":" + lastName));
    headers.set('X-LSM-AccessToken', environment.DomainApiKeyHeaderName+':'+environment.salt);
    headers.set(environment.DomainApiKeyHeaderName, environment.DomainApiKey);
    let body = JSON.parse(localStorage.getItem('currentUser'));
    return this.http.post(
        environment.Domain + '/api/v1/Authentication/register',
        body,
        { headers }
        )
        .map(data => {
            return data;
        });
}

not sending all headers. for now it sends authorization header but skips other headers

Upvotes: 1

Views: 1482

Answers (1)

JB Nizet
JB Nizet

Reputation: 691715

HttpHeaders is immutable. Its set() method returns a new Header value. But you're ignoring the result. Change your code to

const headers = new HttpHeaders().set(...)
                                 .set(...)
                                 .set(...);

Or

let headers = new HttpHeaders();
headers = headers.set(...);
headers = headers.set(...);
headers = headers.set(...);

Upvotes: 4

Related Questions