DEV Community

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

Posted on

13 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.

SurveyJS custom survey software

Simplify data collection in your JS app with a fully integrated form management platform. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more. Integrates with any backend system, giving you full control over your data and no user limits.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs