net.connect

net.connect is framework for establishing network connections.

Resolvers are responsible for DNS lookups and yielding connection details.

net.resolvers.manual
The simplest resolver, takes a list of manually specified IP address and port pairs to connect to.
net.resolvers.basic
Connect to a hostname on a port over IPv6 or IPv4. Supports Happy-Eyeballs and DANE.
net.resolvers.service
Locate a service using SRV records, spawning a basic resolver for each.
net.resolvers.chain
Chain arbitrary resolvers together, e.g. to try multiple SRV records.

Example Use:

local connect = require"prosody.net.connect".connect;
local basic_resolver = require"prosody.net.resolvers.basic".new;

local listeners = {};
function listeners.onconnect(conn)
    conn:write("GET / HTTP/1.1\r\n");
    conn:write("Host: www.example.com\r\n");
    conn:write("Connection: close\r\n");
    conn:write("\r\n");
end
function listeners.onincoming(conn, data
    io.write(data);
end)

connect(basic_resolver("www.example.com", 80))