Categories
JavaScript Answers

How to convert string to buffer with Node.js?

Sometimes, we want to convert string to buffer with Node.js.

In this article, we’ll look at how to convert string to buffer with Node.js.

How to convert string to buffer with Node.js?

To convert string to buffer with Node.js, we can use the Buffer.from method.

For instance, we write

const buf = Buffer.from(bufStr, 'utf8');

to call Buffer.from with the bufStr string and the encoding of the string to return a buffer created from the string.

Conclusion

To convert string to buffer with Node.js, we can use the Buffer.from method.

Categories
JavaScript Answers

How to get the domain originating the request in Express.js?

Sometimes, we want to get the domain originating the request in Express.js.

In this article, we’ll look at how to get the domain originating the request in Express.js.

How to get the domain originating the request in Express.js?

To get the domain originating the request in Express.js, we can use req.get with the 'host' or 'origin' header string.

For instance, we write

const host = req.get('host');

to call req.get with 'host' to get the hostname of the client that made the request.

For getting the host of cross domain requests, we write

const origin = req.get('origin');

to get the hostname of a cross origin request by calling req.get with 'origin'.

Conclusion

To get the domain originating the request in Express.js, we can use req.get with the 'host' or 'origin' header string.

Categories
JavaScript Answers

How to add gzip compression with Node.js?

Sometimes, we want to add gzip compression with Node.js.

In this article, we’ll look at how to add gzip compression with Node.js.

How to add gzip compression with Node.js?

To add gzip compression with Node.js, we can use the built in zlib module.

For instance, we write

const zlib = require('zlib');
const http = require('http');
const fs = require('fs');
http.createServer((request, response) => {
  const raw = fs.createReadStream('index.html');
  let acceptEncoding = request.headers['accept-encoding'];
  if (!acceptEncoding) {
    acceptEncoding = '';
  }

  if (acceptEncoding.match(/\bdeflate\b/)) {
    response.writeHead(200, {
      'content-encoding': 'deflate'
    });
    raw.pipe(zlib.createDeflate()).pipe(response);
  } else if (acceptEncoding.match(/\bgzip\b/)) {
    response.writeHead(200, {
      'content-encoding': 'gzip'
    });
    raw.pipe(zlib.createGzip()).pipe(response);
  } else {
    response.writeHead(200, {});
    raw.pipe(response);
  }
}).listen(3000);

to call createServer with a callback to create a web server.

In the callback, we call zlib.createDeflate and pipe with response to pipe the response for compress .

And we call response.writeHead with an object to set the content-encoding response header to 'gzip‘.

Then we use raw.pipe(zlib.createGzip()).pipe(response) to compress the response with gzip compression.

Conclusion

To add gzip compression with Node.js, we can use the built in zlib module.

Categories
JavaScript Answers

How to add dates to pm2 error logs with Node.js?

Sometimes, we want to add dates to pm2 error logs with Node.js.

In this article, we’ll look at how to add dates to pm2 error logs with Node.js.

How to add dates to pm2 error logs with Node.js?

To add dates to pm2 error logs with Node.js, we can run pm2 with the `–log-date-format option.

For instance, we run

pm2 start app.js --log-date-format 'DD-MM HH:mm:ss.SSS'

to run pm2 to start app.js and add dates to the log by specifying the --log-date-format option to add a date to each log entry in format DD-MM HH:mm:ss.SSS.

DD-MM HH:mm:ss.SSS is a moment format date string with the date, month, houts, minutes, seconds and milliseconds in this order.

Conclusion

To add dates to pm2 error logs with Node.js, we can run pm2 with the `–log-date-format option.

Categories
JavaScript Answers

How to get the parent directory name in Node.js?

Sometimes, we want to get the parent directory name in Node.js.

In this article, we’ll look at how to get the parent directory name in Node.js.

How to get the parent directory name in Node.js?

To get the parent directory name in Node.js, we can use the path.basename and path.dirname methods.

For instance, we write

path.basename(path.dirname(filename))

to get the folder name of the path of filename with path.dirname.

Then we call path.basename to get the parent folder path from the path string returned by path.dirname.

Conclusion

To get the parent directory name in Node.js, we can use the path.basename and path.dirname methods.