How to create basic token from username and password, and then put in header
const username = 'username'; const password = 'password'; const encodedBase64Token = Buffer.from(`${username}:${password}`).toString('base64'); const authorization = `Basic ${encodedBase64Token}`; var request = { host: endpoint, method: 'POST', path: '/_bulk', body: body, headers: { 'Content-Type': 'application/json', 'Host': endpoint, 'Content-Length': Buffer.byteLength(body), 'X-Amz-Security-Token': process.env.AWS_SESSION_TOKEN, 'X-Amz-Date': datetime, 'Authorization': authorization, } };
Here is what the above code is Doing:
1. We’re creating a new date object and formatting it to the required format.
2. We’re creating a new body object and adding the data we want to send to Elasticsearch.
3. We’re creating a new authorization object and adding the username and password.
4. We’re creating a new request object and adding the host, method, path, body, and headers.
Now that we have our request object, we can send it to Elasticsearch.