// HTTP server example (macOS only) #import "modules/std.sx"; #import "modules/socket.sx"; main :: () -> s32 { PORT :: 8080; fd := socket(AF_INET, SOCK_STREAM, 0); if fd < 0 { print("error: socket()\n"); return 1; } opt : s32 = 1; setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, @opt, 4); addr := SockAddr.{ sin_len = 16, sin_family = 2, sin_port = htons(PORT), sin_addr = 0, sin_zero = 0 }; if bind(fd, @addr, 16) < 0 { print("error: bind()\n"); return 1; } if listen(fd, 10) < 0 { print("error: listen()\n"); return 1; } print("listening on http://localhost:{}\n", PORT); while true { client := accept(fd, null, null); if client < 0 { continue; } // Read request buf := alloc(4096); read(client, buf, 4096); // Send response body := "