about summary refs log blame commit diff stats
path: root/http-client.mu
blob: 9219a76fa839e946ba002c49e9dc45e21e355ffd (plain) (tree)
1
2
3
4
5
6
7
8
9

                                          

             
                         
                                                                                    
                         
                 
                                    


                                     
                 
                        




                                              

        
                                    
              
                                            




                             
# example program: reading a URL over HTTP

def main [
  local-scope
  $print [aaa] 10/newline
  google:&:source:char <- start-reading-from-network 0/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 0/screen  # non-scrolling app
  len:num <- length *result
  print 0/real-screen, result
  wait-for-some-interaction
  close-console
]