From 095303956708a3f87594ae60cd9d7df12d12d905 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Mon, 14 Jun 2021 11:43:18 +0200 Subject: [PATCH] DOC: lua: Add a warning about buffers modification in HTTP Since the 1.9, it is forbidden to alter the channel buffer from an HTTP stream because there is no way to keep the HTTP parser synchronized if the buffer content is altered. In addition, since the HTX is the only reprensentation for HTTP messages, the data in HTTP buffers are structured and cannot be read or updated in a raw fashion. A warning is triggered when a user tries to alter an HTTP buffer. However, it was not documented. This patch adds a warning in the lua documentation. This patch is related to the issue #1287. It may be backported as far as 2.0. --- doc/lua-api/index.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst index e0bda2dc89..d98c77eeb4 100644 --- a/doc/lua-api/index.rst +++ b/doc/lua-api/index.rst @@ -1281,6 +1281,10 @@ Channel class **Warning**: It is not possible to read from the response in request action, and it is not possible to read for the request channel in response action. + **Warning**: It is forbidden to alter the Channels buffer from HTTP contexts. + So only :js:func:`Channel.get_in_length`, :js:func:`Channel.get_out_length` + and :js:func:`Channel.is_full` can be called from an HTTP conetext. + .. image:: _static/channel.png .. js:function:: Channel.dup(channel)