about summary refs log tree commit diff stats
path: root/archive/1.vm/http-client.mu
diff options
context:
space:
mode:
Diffstat (limited to 'archive/1.vm/http-client.mu')
-rw-r--r--archive/1.vm/http-client.mu29
1 files changed, 29 insertions, 0 deletions
diff --git a/archive/1.vm/http-client.mu b/archive/1.vm/http-client.mu
new file mode 100644
index 00000000..8f04c2bc
--- /dev/null
+++ b/archive/1.vm/http-client.mu
@@ -0,0 +1,29 @@
+# example program: reading a URL over HTTP
+
+def main [
+  local-scope
+  $print [aaa] 10/newline
+  google:&:source:char <- start-reading-from-network null/real-resources, [google.com/]
+  $print [bbb] 10/newline
+  n:num <- copy 0
+  buf:&:buffer:char <- new-buffer 30
+  {
+    c:char, done?:bool <- read google
+    break-if done?
+    n <- add n, 1
+    buf <- append buf, c
+    {
+      _, a:num <- divide-with-remainder n, 100
+      break-if a
+      $print n 10/newline
+    }
+    loop
+  }
+  result:text <- buffer-to-array buf
+  open-console
+  clear-screen null/screen  # non-scrolling app
+  len:num <- length *result
+  print null/real-screen, result
+  wait-for-some-interaction
+  close-console
+]