DEV Community

Cover image for Getting and setting headers in Node.js HTTP server
Onelinerhub
Onelinerhub

Posted on

14 1

Getting and setting headers in Node.js HTTP server

1. How to get request header in HTTP server

const http = require('http');

const server = http.createServer((req, res) => {
  res.end( req.headers['x-test'] );
});

server.listen(82, '127.0.0.1');
Enter fullscreen mode Exit fullscreen mode
  • require('http') - import module to work with http protocol,
  • http.createServer - creates HTTP server,
  • (req, - object with request data,
  • res - object to manage response,
  • .end( - finished http response with given content,
  • req.headers - object with all request headers,
  • x-test - sample request header to get value of.

Open original or edit on Github.

2. How to set response header in HTTP server

const http = require('http');

const server = http.createServer((req, res) => {
  res.setHeader('Content-Type', 'text/plain')
  res.end();
});

server.listen(82, '127.0.0.1');
Enter fullscreen mode Exit fullscreen mode
  • require('http') - import module to work with http protocol,
  • http.createServer - creates HTTP server,
  • (req, - object with request data,
  • res - object to manage response,
  • .end( - finished http response with given content,
  • .setHeader( - sets response header,
  • Content-Type - name of the header to send,
  • text/plain - value of the header to send.

Open original or edit on Github.

3. How to set content type in HTTP server

const http = require('http');

const server = http.createServer((req, res) => {
  res.setHeader('Content-Type', 'text/csv')
  res.end("1,2,3");
});

server.listen(82, '127.0.0.1');
Enter fullscreen mode Exit fullscreen mode
  • require('http') - import module to work with http protocol,
  • http.createServer - creates HTTP server,
  • (req, - object with request data,
  • res - object to manage response,
  • .end( - finished http response with given content,
  • .setHeader( - sets response header,
  • Content-Type - we're going to set content type,
  • text/csv - let's send csv content as example.

Open original or edit on Github.

4. How to allow CORS in HTTP server

const http = require('http');

const server = http.createServer((req, res) => {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET');
  res.setHeader('Access-Control-Max-Age', 60*60*24*30);

  res.end('Hi');
});

server.listen(82);
Enter fullscreen mode Exit fullscreen mode
  • require('http') - import module to work with http protocol,
  • http.createServer - creates HTTP server,
  • (req, - object with request data,
  • res - object to manage response,
  • setHeader( - sets response header,
  • Access-Control- - CORS headers to set,
  • '*' - allow access from all origins,
  • 60*60*24*30 - ACL lifetime is set to 30 days.

Open original or edit on Github.

Heroku

Amplify your impact where it matters most — building exceptional apps.

Leave the infrastructure headaches to us, while you focus on pushing boundaries, realizing your vision, and making a lasting impression on your users.

Get Started

Top comments (0)

👋 Kindness is contagious

Engage with a wealth of insights in this thoughtful article, cherished by the supportive DEV Community. Coders of every background are encouraged to bring their perspectives and bolster our collective wisdom.

A sincere “thank you” often brightens someone’s day—share yours in the comments below!

On DEV, the act of sharing knowledge eases our journey and forges stronger community ties. Found value in this? A quick thank-you to the author can make a world of difference.

Okay