增加了一组
学习笔记,通过学习笔记
分享学习结果。
当我们写的
网络,它是使用cookie不可避免,因为Node.js已经表达的Web框架,我们可以建立站方便。使用快递时,cookie解析器往往是作为一个plug-in.today,让我们来分析一下这个
插件。
这个插件通常是作为一个中间件,app.use(cookieparser()),这样每个请求的Cookie可以加工。
从
名字看,这是一个
工具来解释cookie。通过req.cookies,你可以通过cookie变成对象。在这里,让我们深入到它的源代码。
首先,让我们看看index.js
复制代码代码如下:var cookie =需要(饼干);
var(=解析);
这里有2个
参考,一个是饼干,和其他的cookie-parser.the cookie模块的
核心功能只提供了2种
方法,一是序列化和其他解析。
序列化接收关键和Val的方法和
顺序的。
复制代码如下:var HDR = cookie.serialize('foo ','bar '); / / HDR = 'foo =吧;
Paser的方法将字符串
转换成一个对象
复制代码如下:var饼干= cookie.parse('foo =猫=喵;酒吧;狗=呜'); / /饼干= { foo:'bar,猫:'meow,狗:'ruff};
再看下面,cookie解析器的主要功能,cookiepaser。
复制代码代码如下:出口= module.exports =功能cookieparser(秘密,
选项){
返回
函数cookieparser(REQ,RES,下){ / /从请求的请求,RES
如果(REQ。饼干)返回(下); / /如果你已经有了一个Cookie对象,然后
退出中间件
运行 VaR的饼干= req.headers.cookie; / / cookie头
req.secret =秘密; / /如果传入的秘密,将请求对象
req.cookies = object.create(空); / /
创建一个空对象req.cookies
req.signedcookies = object.create(空); / /创建一个空对象req.signedcookies
无Cookie
(如果!cookie)如果不是从头部cookie
返回(下一步);退出中间件继续运行
}
req.cookies = cookie.parse(饼干、期权); / /呼叫饼干曲奇饼干解析容易转换为字符串对象。
签名cookie
如果
设置了秘密,则2个方法是使用解析、cookie签名。
req.signedcookies = parse.signedcookies(req.cookies,秘密);
req.signedcookies = parse.jsoncookies(需求,signedcookies);
}
JSON cookie解析
req.cookies = parse.jsoncookies(REQ。饼干); / / req.cookies对象转换
下一步();
};
};
看看这个main函数,我们会有些困惑,就像它是main
文件js一样。
以上是Node.js cookie解析器中间件的全部内容,希望能给大家一个参考,也希望你有很多的
支持。