Node.jscookie解析器中间件简介

增加了一组学习笔记,通过学习笔记分享学习结果。

当我们写的网络,它是使用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解析器中间件的全部内容,希望能给大家一个参考,也希望你有很多的支持。