Skip to content

Commit fae316e

Browse files
author
rodolpheh
committed
Add synchronous wget (requires ASYNCIFY)
1 parent 67f606a commit fae316e

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/zemscripten.zig

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,3 +197,25 @@ pub fn log(
197197
else => emscripten_console_log(@ptrCast(msg.ptr)),
198198
}
199199
}
200+
201+
// Networking
202+
extern fn emscripten_wget(url: [*c]const u8, file: [*c]const u8) c_int;
203+
extern fn emscripten_wget_data(url: [*c]const u8, pbuffer: **anyopaque, pnum: *c_int, perror: *c_int) void;
204+
205+
pub fn Wget(url: []const u8, file: []const u8) c_int {
206+
return emscripten_wget(url.ptr, file.ptr);
207+
}
208+
209+
pub fn WgetData(url: []const u8) ![]u8 {
210+
var buffer_ptr: *anyopaque = undefined;
211+
var len: c_int = undefined;
212+
var err: c_int = undefined;
213+
214+
emscripten_wget_data(url.ptr, &buffer_ptr, &len, &err);
215+
216+
if (err != 0) {
217+
return error.WgetError;
218+
}
219+
220+
return @as([*]u8, @ptrCast(buffer_ptr))[0..@intCast(len)];
221+
}

0 commit comments

Comments
 (0)