diff options
Diffstat (limited to 'ext/flash/01_http.js')
-rw-r--r-- | ext/flash/01_http.js | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/ext/flash/01_http.js b/ext/flash/01_http.js index 79a4963a5..267a3551c 100644 --- a/ext/flash/01_http.js +++ b/ext/flash/01_http.js @@ -579,16 +579,19 @@ function createServe(opFn) { ); let resp; + let remoteAddr; try { - resp = handler(req, () => { - const { 0: hostname, 1: port } = core.ops.op_flash_addr( - serverId, - i, - ); - return { - hostname, - port, - }; + resp = handler(req, { + get remoteAddr() { + if (!remoteAddr) { + const { 0: hostname, 1: port } = core.ops.op_flash_addr( + serverId, + i, + ); + remoteAddr = { hostname, port }; + } + return remoteAddr; + }, }); if (ObjectPrototypeIsPrototypeOf(PromisePrototype, resp)) { PromisePrototypeCatch( |