Networking
The networking stdlib provides several related types:
TcpTcpStreamTcpListenerHttpHttpClientHttpResponse
Tcp provides lower-level TCP helpers.
let stream := Tcp.connect("example.com", 80);TcpStream represents a connected stream.
let stream := TcpStream.connect("example.com", 80);print(stream.write("GET / HTTP/1.0\r\n\r\n"));print(stream.read(1024));stream.close();TcpListener represents a listening socket.
let listener := TcpListener.listen("127.0.0.1", 8080);let client := listener.accept();For HTTP-style work, the stdlib provides Http, HttpClient, and HttpResponse.
Http has convenience helpers for direct requests.
let response := Http.get("https://example.com");print(response.body);HttpClient stores reusable client settings such as host, port, scheme, and headers.
let client := Http.client("https://example.com", 443).with_header("Accept: text/plain");let response := client.get("/");print(response.body);HttpResponse contains:
statusheadersbody
HttpClient contains:
hostportheadersscheme
Important HTTP helpers include:
Http.client(...)Http.with_scheme(...)Http.get(...)Http.post(...)Http.request(...)HttpClient.new(...).with_header(...).header(...).base_url().request(...).get(...).post(...)