diff --git a/Request.md b/Request.md index 7d24f79..358c202 100644 --- a/Request.md +++ b/Request.md @@ -1,32 +1,33 @@ -## `Request`请求体对象 -> 这是一个对原生的http request请求体, 进一步封装的结果, 会自动对url的合法性进行校验, 并且以友好的方式返回错误信息。 同时封装一些常用的方法。 +# `Request`请求体对象 +> 这是一个对原生的http request请求体进一步封装后的对象, 会自动对url的合法性进行校验, 并且以友好的方式返回错误信息。 同时封装一些常用的方法。 -### 属性 +## 属性 -+ `.origin` 原生的request和response对象,如果封装的这些方法不满足你的需求,可以直接对原生的request进行操作。 ++ `.url` 当前请求的url(修正后的)。 -+ `.method` http请求方法, 纯小写。 ++ `.method` http请求方法, 大写。 -+ `.app` 一级路由的名字。 ++ `.host` 当前请求所使用的域名(含端口号, 非80和443时) -+ `.path` 除一级路由以外的部分, 以数据形式储存。 注意: 路由中间件会抽走第2段。 ++ `.hostname` 当前请求所使用的域名(不含端口号) -+ `.url` 经过修正后的path部分 ++ `.path` 除一级路由以外的部分, 以数组格式储存。 `注意: 路由模式一会抽走第2段`。 + ++ `.protocol` 当前请求使用的协议(http|https), 使用nginx或其他负载均衡代理访问时, 依赖`x-forwarded-proto`判断。 + ++ `.query` 当前请求的url上的参数对象。 + ++ `.headers` 当前请求的所有headers对象, key全部为小写。 + ++ `.cookies` 当前请求的携带的所有的cookies。 + ++ `.ip` 当前请求来源IP地址(内网访问时可能一直为127.0.0.1), 使用nginx或其他负载均衡代理访问时, 依赖`x-real-ip`或`x-forwarded-for`获取。 + ++ `.body` 当前请求的body, 首次调用需要使用`await`, 之后使用可不需要, 会从内存中读取。 -### 方法 - -+ `.get(key, xss)` 同php的$_GET[]。 - - key`` [可选], 不传返回所有的参数。 - - xss`` [可选], 是否对取值进行基础的xss过滤。 - - -+ `.post(key, xss)` 同php的$_POST[]。 - - key`` [可选], 不传返回所有的参数。 - - xss`` [可选], 是否对取值进行基础的xss过滤。 - - > 只要是在body中的, 都是用这个方法读取, 无论method是不是POST。 +## 方法 + `.header(key)` 读取头信息 @@ -37,11 +38,3 @@ - key`` [可选], 字段名, 不传返回所有的cookie。 -+ `.ip()` 读取客户端的IP地址(不一定能获取到)。 - - ----- - -上一节: [⟪控制器⟫](https://github.com/bytedo/gmf.core/wiki/Controller) - -下一节: [⟪Response⟫](https://github.com/bytedo/gmf.core/wiki/Response) \ No newline at end of file