yutent 2ab38350a8 2.0 2023-10-30 17:04:07 +08:00
lib 精简代码 2023-10-30 16:59:54 +08:00
.gitignore 完成2.0版重构 2023-10-30 16:41:37 +08:00
LICENSE init 2020-09-16 20:07:28 +08:00
Readme.md 增加cookie读取 2020-09-21 17:57:42 +08:00
index.js 2.0 2023-10-30 17:04:07 +08:00
package.json 一大波更新 2023-10-26 19:02:46 +08:00

Readme.md

module info

@gm5/equest

对Http的request进一步封装, 提供常用的API.

Install

    npm i @gm5/request

Usage

import Request  from '@gm5/request'
import http from 'http'

http
  .createServer((req, res) => {
    let request = new Request(req, res)

    console.log(request.origin) // {req, res}

    // print the fixed url
    console.log(request.url)

    request.ip() // get client ip address

    // http://test.com/?foo=bar
    request.get('foo') // bar
  })
  .listen(3000)

API

origin

返回原始的response & request对象

console.log(request.origin) // {req: request, res: response}

app

返回一级路由的名字

// abc.com/foo/bar
console.log(request.app) // foo

path

以数组形式,返回除一级路由之外剩下的路径

// abc.com/foo/bar/aa/bb
console.log(request.path) // ['bar', 'aa', 'bb']

url

返回修正过的url路径

// abc.com/foo/bar/aa/bb
// abc.com////foo///bar/aa/bb
console.log(request.url) // foo/bar/aa/bb

get([key[,xss]])

  • key <String> 字段名 [可选], 不则返回全部参数
  • xss <Boolean> 是否进行xss过滤 [可选], 默认为ture

返回URL上的query参数, 类似于$_GET[];

// http://test.com?name=foo&age=18
request.get('name') // foo
request.get('age') // 18

request.get() // {name: 'foo', age: 18}
request.get('weight') // return null if not exists

post([key[,xss]])

  • key <String> optional
  • xss <Boolean> optional

读取post请求的body, 类似于 $_POST[].

该方法返回的是Promise对象

// http://test.com
await request.post('name') // foo
await request.post('age') // 18

// return all if not yet argument given
await request.post() // {name: 'foo', age: 18}
await request.post('weight') // return null if not exists

header([key])

  • key <String> 字段名[可选], 不传则返回全部

返回请求头

request.header('user-agent') // Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 ...

// return all if not yet argument given
request.header() // {'user-agent': '...'[, ...]}

ip()

获取客户端IP地址.

It would return '127.0.0.1' maybe if in local area network.

获取客户端带上的cookie. 不传key时返回所有的

对Http的request进一步封装, 提供常用的API
JavaScript 100%