Mercurial
view third_party/wrk/src/wrk.lua @ 279:b3b547563ec7
Add Google connector service and agent wiki
Implement the C/Seobeo Google Drive and Gmail connector with encrypted OAuth storage, Zenbu authentication, browser testing, AI tool discovery, chunked HTTP decoding, and Bazel coverage. Consolidate repository guidance into progressive wiki documentation and enforce arena-first allocation for new first-party C code.
Co-authored-by: Copilot <[email protected]>
Copilot-Session: 84c338fd-0939-4bb3-b7f3-1062eb213e5d
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 17 Aug 2026 22:22:36 -0700 |
| parents | 94705b5986b3 |
| children |
line wrap: on
line source
local wrk = { scheme = "http", host = "localhost", port = nil, method = "GET", path = "/", headers = {}, body = nil, thread = nil, } function wrk.resolve(host, service) local addrs = wrk.lookup(host, service) for i = #addrs, 1, -1 do if not wrk.connect(addrs[i]) then table.remove(addrs, i) end end wrk.addrs = addrs end function wrk.setup(thread) thread.addr = wrk.addrs[1] if type(setup) == "function" then setup(thread) end end function wrk.init(args) if not wrk.headers["Host"] then local host = wrk.host local port = wrk.port host = host:find(":") and ("[" .. host .. "]") or host host = port and (host .. ":" .. port) or host wrk.headers["Host"] = host end if type(init) == "function" then init(args) end local req = wrk.format() wrk.request = function() return req end end function wrk.format(method, path, headers, body) local method = method or wrk.method local path = path or wrk.path local headers = headers or wrk.headers local body = body or wrk.body local s = {} if not headers["Host"] then headers["Host"] = wrk.headers["Host"] end headers["Content-Length"] = body and string.len(body) s[1] = string.format("%s %s HTTP/1.1", method, path) for name, value in pairs(headers) do s[#s+1] = string.format("%s: %s", name, value) end s[#s+1] = "" s[#s+1] = body or "" return table.concat(s, "\r\n") end return wrk