增加cookie读取
parent
c66603b826
commit
de0d16d15c
|
@ -124,3 +124,10 @@ request.header() // {'user-agent': '...'[, ...]}
|
|||
> 获取客户端IP地址.
|
||||
>
|
||||
> It would return '127.0.0.1' maybe if in local area network.
|
||||
|
||||
|
||||
### cookie(key)
|
||||
|
||||
> 获取客户端带上的cookie.
|
||||
> 不传key时返回所有的
|
||||
|
||||
|
|
10
index.js
10
index.js
|
@ -6,6 +6,7 @@
|
|||
import 'es.shim'
|
||||
|
||||
import Parser from './lib/index.js'
|
||||
import { parseCookie } from './lib/cookie.js'
|
||||
import fs from 'iofs'
|
||||
import URL from 'url'
|
||||
import QS from 'querystring'
|
||||
|
@ -29,6 +30,7 @@ export default class Request {
|
|||
hideProperty(this, 'origin', { req, res })
|
||||
hideProperty(this, '__GET__', null)
|
||||
hideProperty(this, '__POST__', null)
|
||||
hideProperty(this, '__COOKIE__', parseCookie(this.header('cookie') || ''))
|
||||
|
||||
this.__fixUrl()
|
||||
|
||||
|
@ -260,6 +262,14 @@ export default class Request {
|
|||
return !!key ? this.origin.req.headers[key] : this.origin.req.headers
|
||||
}
|
||||
|
||||
// 读取cookie
|
||||
cookie(key) {
|
||||
if (key) {
|
||||
return this.__COOKIE__[key]
|
||||
}
|
||||
return this.__COOKIE__
|
||||
}
|
||||
|
||||
//获取客户端IP
|
||||
ip() {
|
||||
return (
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* @author yutent<yutent.io@gmail.com>
|
||||
* @date 2020/09/20 15:08:50
|
||||
*/
|
||||
|
||||
// var KEY_REGEXP = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/
|
||||
var SPLIT_REGEXP = /; */
|
||||
// var encode = encodeURIComponent
|
||||
var decode = decodeURIComponent
|
||||
|
||||
/**
|
||||
* [parse 格式化字符串]
|
||||
*/
|
||||
export function parseCookie(str) {
|
||||
var obj = {}
|
||||
var pairs
|
||||
|
||||
if (typeof str !== 'string') {
|
||||
return {}
|
||||
}
|
||||
|
||||
pairs = str.split(SPLIT_REGEXP)
|
||||
|
||||
for (let item of pairs) {
|
||||
item = item.split('=')
|
||||
if (item.length < 2) {
|
||||
continue
|
||||
}
|
||||
|
||||
var key = item[0].trim()
|
||||
var val = item[1].trim()
|
||||
|
||||
obj[key] = decode(val)
|
||||
}
|
||||
return obj
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@gm5/request",
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.0",
|
||||
"description": "对Http的request进一步封装, 提供常用的API",
|
||||
"main": "index.js",
|
||||
"author": "yutent",
|
||||
|
|
Loading…
Reference in New Issue