doc: updated the docs for ngx.req.socket(raw) to reflect the recent change that allows reading raw request body data directly.
This commit is contained in:
Родитель
b6715395c0
Коммит
a95851bb18
4
README
4
README
|
@ -2986,8 +2986,8 @@ Nginx API for Lua
|
|||
from any previous ngx.say, ngx.print, or ngx.send_headers calls exists.
|
||||
So if you have these downstream output calls previously, you should call
|
||||
ngx.flush(true) before calling "ngx.req.socket(true)" to ensure that
|
||||
there is no pending output data. Another requirement for this case is
|
||||
that the request body must have already been read completely.
|
||||
there is no pending output data. If the request body has not been read
|
||||
yet, then this "raw socket" can also be used to read the request body.
|
||||
|
||||
You can use the "raw request socket" returned by "ngx.req.socket(true)"
|
||||
to implement fancy protocols like WebSocket
|
||||
|
|
|
@ -3183,7 +3183,7 @@ Chunked request bodies are not yet supported in this API.
|
|||
|
||||
Since the `v0.9.0` release, this function accepts an optional boolean `raw` argument. When this argument is `true`, this function returns a full duplex cosocket object wrapping around the raw downstream connection socket, upon which you can call the [receive](#tcpsockreceive), [receiveuntil](#tcpsockreceiveuntil), and [send](#tcpsocksend) methods.
|
||||
|
||||
When the `raw` argument is `true`, it is required that no pending data from any previous [ngx.say](#ngxsay), [ngx.print](#ngxprint), or [ngx.send_headers](#ngxsend_headers) calls exists. So if you have these downstream output calls previously, you should call [ngx.flush(true)](#ngxflush) before calling `ngx.req.socket(true)` to ensure that there is no pending output data. Another requirement for this case is that the request body must have already been read completely.
|
||||
When the `raw` argument is `true`, it is required that no pending data from any previous [ngx.say](#ngxsay), [ngx.print](#ngxprint), or [ngx.send_headers](#ngxsend_headers) calls exists. So if you have these downstream output calls previously, you should call [ngx.flush(true)](#ngxflush) before calling `ngx.req.socket(true)` to ensure that there is no pending output data. If the request body has not been read yet, then this "raw socket" can also be used to read the request body.
|
||||
|
||||
You can use the "raw request socket" returned by `ngx.req.socket(true)` to implement fancy protocols like [WebSocket](http://en.wikipedia.org/wiki/WebSocket), or just emit your own raw HTTP response header or body data. You can refer to the [lua-resty-websocket library](https://github.com/agentzh/lua-resty-websocket) for a real world example.
|
||||
|
||||
|
|
|
@ -2643,7 +2643,7 @@ Chunked request bodies are not yet supported in this API.
|
|||
|
||||
Since the <code>v0.9.0</code> release, this function accepts an optional boolean <code>raw</code> argument. When this argument is <code>true</code>, this function returns a full duplex cosocket object wrapping around the raw downstream connection socket, upon which you can call the [[#tcpsock:receive|receive]], [[#tcpsock:receiveuntil|receiveuntil]], and [[#tcpsock:send|send]] methods.
|
||||
|
||||
When the <code>raw</code> argument is <code>true</code>, it is required that no pending data from any previous [[#ngx.say|ngx.say]], [[#ngx.print|ngx.print]], or [[#ngx.send_headers|ngx.send_headers]] calls exists. So if you have these downstream output calls previously, you should call [[#ngx.flush|ngx.flush(true)]] before calling <code>ngx.req.socket(true)</code> to ensure that there is no pending output data. Another requirement for this case is that the request body must have already been read completely.
|
||||
When the <code>raw</code> argument is <code>true</code>, it is required that no pending data from any previous [[#ngx.say|ngx.say]], [[#ngx.print|ngx.print]], or [[#ngx.send_headers|ngx.send_headers]] calls exists. So if you have these downstream output calls previously, you should call [[#ngx.flush|ngx.flush(true)]] before calling <code>ngx.req.socket(true)</code> to ensure that there is no pending output data. If the request body has not been read yet, then this "raw socket" can also be used to read the request body.
|
||||
|
||||
You can use the "raw request socket" returned by <code>ngx.req.socket(true)</code> to implement fancy protocols like [http://en.wikipedia.org/wiki/WebSocket WebSocket], or just emit your own raw HTTP response header or body data. You can refer to the [https://github.com/agentzh/lua-resty-websocket lua-resty-websocket library] for a real world example.
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче