diff options
Diffstat (limited to 'cmd/main.ha')
| -rw-r--r-- | cmd/main.ha | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cmd/main.ha b/cmd/main.ha new file mode 100644 index 0000000..95d1cad --- /dev/null +++ b/cmd/main.ha @@ -0,0 +1,25 @@ +use fmt; +use os; +use internal::curl; +use memio; +use io; + +export fn main() void = { + if (len(os::args) != 2) { + fmt::fatalf("USAGE: {} <url>", os::args[0]); + }; + let resp = curl::newresponse(); + defer curl::closeresponse(resp)!; + match (curl::get(os::args[1], &resp)) { + case void => + yield; + case let err: curl::setopterr => + fmt::fatalf("setopt returned {} instead of 0", err: int); + case let err: curl::performerr => + fmt::fatalf("perform returned {} instead of 0", err: int); + case let err: curl::getinfoerr => + fmt::fatalf("getinfo returned {} instead of 0", err: int); + }; + fmt::print(memio::string(&resp.data)!)!; + fmt::printfln("status: {}, size: {}", resp.status, resp.sz)!; +}; |
