Welcome aboard! We are happy you are here and wish you good net-raft!
// you must install npm i cookie
var escapeHtml = require('escape-html');
var http = require('http');
var url = require('url');
function onRequest(req, res) {
var query = url.parse(req.url, true, true).query;
if (query && query.mycookie) {
// Set a new cookie
res.setHeader('Set-Cookie', cookie.serialize('name', String(query.mycookie), {
httpOnly: true,
maxAge: 60 * 60 * 24 * 7 // 1 week
}));
// Redirect back after setting cookie
res.statusCode = 302;
res.setHeader('Location', req.headers.referer || '/');
res.end();
return;
}
var cookies = cookie.parse(req.headers.cookie || '');
// Get the visitor name set in the cookie
var name = cookies.name;
res.setHeader('Content-Type', 'text/html; charset=UTF-8');
if (name) {
res.write('<p>Cookie's value is, <b>' + escapeHtml(name) + '</b>!</p>');
} else {
res.write('<p>Cookie is not set!</p>');
}
res.write('<form method="GET">');
res.write('<input placeholder="type some word" name="mycookie"> <input type="submit" value="Set cookie">');
res.end('</form');
}
http.createServer(onRequest).listen(3000);
console.log("Listening to Port 3000");
// install npm install cookie-session
var cookieSession = require('cookie-session')
var express = require('express')
var app = express()
app.set('trust proxy', 1) // trust first proxy
app.use(cookieSession({
name: 'session',
keys: ['key1', 'key2']
}))
app.get('/', function (req, res, next) {
// Update views
req.session.views = (req.session.views || 0) + 1
// Write response
res.end(req.session.views + ' views')
})
app.listen(3000)
The most helpful NODEJS solutions
get user ipNODEJS Click to see more ... 7.6K 1.7K