Reputation: 683
I am testing nodejs..
I am using Express.
I want to make a cookie.
the way I know is-
const express = require("express");
var app = express();
app.get("/set-cookie",(req,res)=>{
res.setHeader("set-cookie", "value=true");
});
I want to make a cookie using res.setHeader()
with the max-age set to 1 minute without adding more dependencies
I have tried
const express = require("express");
var app = express();
app.get("/set-cookie",(req,res)=>{
res.setHeader("set-cookie", "value=true;MaxAge="1000*60");
});
But it is not setting the max-age to one minute.
What should I do?
Upvotes: 3
Views: 9518
Reputation: 49945
You can use res.cookie
method to set the maxAge, below code will return a cookie which expires in 1 minute:
app.get("/set-cookie",(req,res)=>{
res.cookie('cookieName', "value", { maxAge: 60*1000 });
res.send();
});
If you're using plain HTTP header (setHeader
) you must keep in mind that:
Max-Age= Optional Number of seconds until the cookie expires. A zero or negative number will expire the cookie immediately. If both Expires and Max-Age are set, Max-Age has precedence.
so your code should look like this:
app.get("/set-cookie",(req,res)=>{
res.setHeader("Set-Cookie", "key=value; Max-Age=60");
res.send();
});
Upvotes: 4