user3738290
user3738290

Reputation: 445

How can I add parameters in an HTML GET call using Electron.Net

I have the following function working from an Angular component (in an Electron application) using HttpClient:

var auth = "Bearer" + "abdedede";

    let header = new HttpHeaders({ "Content-Type": 'application/json', "Authorization": auth});

    const requestOptions = {headers: header};

    const url = 'https://reqres.in/api/users?page=1';
    
    this.http.get<any>(url, requestOptions).toPromise()
    .then(response=> {
        //...
        alert(JSON.stringify(response));
    });
  }

Now, here is a call from the electron side which calls the same endpoint but without the Authorization and Content-Type in the header:

let buffers:any = [];

  const { net } = require('electron')
  const request = net.request({
    method: 'GET',
    url: 'https://reqres.in/api/users?page=1'})
  request.on('response', (response) => {
    console.log(`HEADERS: ${JSON.stringify(response.headers)}`)
    response.on('data', (chunk) => {
      buffers.push(chunk);
    })
    response.on('end', () => {
      let responseBodyBuffer = Buffer.concat(buffers);
      let responseBodyJSON = responseBodyBuffer.toString();
      responseBodyJSON = responseBodyJSON;
    })
  })
  request.end()

(This latter function is thanks to a poster replying here: In an Electron Application I am successfully making an HTTP GET request from an Angular component. How can I do the same thing from the Electron side?)

My question is, could anybody please advise\show me how to add in the Authorization and Content-Type Header info to this call so that it replicates what the Angular version does - i.e. by passing the requestOptions data in the GET call?

Thanks.

Upvotes: 0

Views: 131

Answers (1)

user3738290
user3738290

Reputation: 445

I have found it. I needed to add:

request.setHeader("content-type", "application/json"); request.setHeader("Authorization", auth);

before I call:

request.on('response', (response) => {

Upvotes: 0

Related Questions