aboutsummaryrefslogtreecommitdiff
path: root/doc/chapters/hellobrowser.inc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/chapters/hellobrowser.inc')
-rw-r--r--doc/chapters/hellobrowser.inc13
1 files changed, 9 insertions, 4 deletions
diff --git a/doc/chapters/hellobrowser.inc b/doc/chapters/hellobrowser.inc
index 3c77c806..58597786 100644
--- a/doc/chapters/hellobrowser.inc
+++ b/doc/chapters/hellobrowser.inc
@@ -155,12 +155,17 @@ implemented by checking if the parameter @code{method} equals the string "GET" a
155@code{MHD_NO} if not so. 155@code{MHD_NO} if not so.
156 156
157Secondly, the above practice of queuing a response upon the first call of the callback function 157Secondly, the above practice of queuing a response upon the first call of the callback function
158brings with it some limitations. This is because the content of the message body will not be 158brings with it some limitations. This is because the content of the message body will not be
159received if a response is queued in the first iteration. Furthermore, the connection will be closed 159received if a response is queued in the first iteration. Furthermore, the connection will be closed
160right after the response has been transferred then. 160right after the response has been transferred then. This is typically not what you want as it
161disables HTTP pipelining. The correct approach is to simply not queue a message on the first
162callback unless there is an error. The @code{void**} argument to the callback provides a location
163for storing information about the history of the connection; for the first call, the pointer
164will point to NULL. A simplistic way to differenciate the first call from others is to check
165if the pointer is NULL and set it to a non-NULL value during the first call.
161 166
162Both of these issues you will find addressed in the official @code{minimal_example.c} residing in 167Both of these issues you will find addressed in the official @code{minimal_example.c} residing in
163the @code{src/examples} directory of the @emph{MHD} package. The source code of this 168the @code{src/examples} directory of the @emph{MHD} package. The source code of this
164program should look very familiar to you by now and easy to understand. 169program should look very familiar to you by now and easy to understand.
165 170
166For our example, the @code{must_copy} and @code{must_free} parameter at the response construction 171For our example, the @code{must_copy} and @code{must_free} parameter at the response construction