Commit Graph

1 Commits

Author SHA1 Message Date
Bjørnar Ness 9418bf69d9 Add abstract socket support on Linux
This adds abstract socket support for Linux, making it possible
to do for example:

server {
    listen unix:@abstract-socket;

    location / {
        content_by_lua_block {
            ngx.say("hello from @abstract-socket")
        }
    }

    location /abstract-socket {
        content_by_lua_block {
            local sock = ngx.socket.tcp()

            local ok, err = sock:connect("unix:@abstract-socket")
            if not ok then
                return ngx.say("could not connect: ", err)
            end

            ok, err = sock:send("GET /\r\n");
            if not ok then
                return ngx.say("failed to send data on socket")
            end

            ngx.say(sock:receive())
        }
    }
}

echo -en "GET /abstract-socket\r\n" | \
    socat abstract-connect:abstract-socket -
2022-01-20 23:39:41 +08:00