mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
httpclient_req_gen() takes a payload argument which can be use to put a payload in the request. This payload can only fit a request buffer. This payload can also be specified by the "body" named parameter within the lua. httpclient. It is also used within the CLI httpclient when specified as a CLI payload with "<<".
30 lines
794 B
Lua
30 lines
794 B
Lua
|
|
local vtc_port = 0
|
|
|
|
core.register_service("fakeserv", "http", function(applet)
|
|
vtc_port = applet.headers["vtcport"][0]
|
|
core.Info("APPLET START")
|
|
local response = "OK"
|
|
applet:add_header("Server", "haproxy/webstats")
|
|
applet:add_header("Content-Length", string.len(response))
|
|
applet:add_header("Content-Type", "text/html")
|
|
applet:start_response()
|
|
applet:send(response)
|
|
core.Info("APPLET DONE")
|
|
end)
|
|
|
|
local function cron()
|
|
-- wait for until the correct port is set through the c0 request..
|
|
while vtc_port == 0 do
|
|
core.msleep(1)
|
|
end
|
|
core.Debug('CRON port:' .. vtc_port)
|
|
|
|
local httpclient = core.httpclient()
|
|
local response = httpclient:get{url="http://127.0.0.1:" .. vtc_port, body="foobar-is-the-new-toto"}
|
|
|
|
core.Info("Received: " .. response.body)
|
|
end
|
|
|
|
core.register_task(cron)
|