0

Trying to send array in http headers. I have create a HTTP Interceptor for request response handling. My interceptor.ts file like following in that I have send header as key value pair its work in these code. But i want to send it in array with objects.

sessionParam:any = {
    param1:{'name':'ttt', 'lname':'test'},
    param2:{'name':'aaa', 'lname':'aaa'},
    param3:{'name':'bbb', 'lname':'bbb'}
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

    let headers = new HttpHeaders();

    for (var val in this.sessionParam) {
        Object.keys(this.sessionParam[val]).forEach(key => {
            headers = headers.set(key,this.sessionParam[val][key]);
        });
    }

    request = request.clone({           
        url: `${environment.baseUrl}${request.url}`,
        headers: headers
    })
    return next.handle(request);
}

I want to send all object in single array
How to passed multiple objects in single array ?

Bhagwat Tupe
  • 1,905
  • 1
  • 13
  • 28

1 Answers1

0

You should change headers.set by headers.append method.

 for (var val in this.sessionParam) {
        Object.keys(this.sessionParam[val]).forEach(key => {
            headers.append(key,this.sessionParam[val][key]);
        });
}

Update:

Your parameter need follow HttpHeader parameters list.

sessionParam:any = {
    param1:{'name':'responseType', 'value':'blob'},
    param2:{'name':'Authorization', 'value':'Bearer'},
}
Hien Nguyen
  • 24,551
  • 7
  • 52
  • 62
  • dont need, you can see this post https://stackoverflow.com/questions/47805542/angular-httpclient-append-headers-to-httpheaders – Hien Nguyen Mar 26 '19 at 09:14
  • its just a object, when i am console `headers` i have also show same format but in send as a key value format – Bhagwat Tupe Mar 26 '19 at 09:20
  • i have also get same output you can check `[[Entries]]: Array(33) 0: {"userid" => Array(1)} 1: {"username" => Array(1)} 2: {"parentbank" => Array(1)} 3: {"parentbranch" => Array(1)} 4: {"multicurrency" => Array(3)} 5: {"iscashtell" => Array(1)} 6: {"ishc" => Array(1)} 7: {"lang" => Array(1)}` – Bhagwat Tupe Mar 26 '19 at 09:22
  • you should change your session param, http header should append some key like this headers.append('Authorization','Bearer ' + currentUser.access_token); headers.append('responseType', 'blob'); – Hien Nguyen Mar 26 '19 at 12:30