Adding curl-lite example.

This commit is contained in:
Brad Nelson
2022-08-12 22:47:38 -07:00
parent bbf400d656
commit b0a93c7477

38
examples/curl.fs Normal file
View File

@ -0,0 +1,38 @@
#! /usr/bin/env ueforth
also sockets
." GETTING HOST" cr
z" google.com" gethostbyname constant google.com
." SETTING UP ADDRESS" cr
sockaddr googleaddr
80 googleaddr ->port!
google.com ->h_addr googleaddr ->addr!
google.com ->h_addr ip. cr
." CREATING SOCKET" cr
AF_INET SOCK_STREAM 0 socket value sock
." CONNECTING..." cr
sock googleaddr sizeof(sockaddr_in) connect throw
." CONNECTED" cr
s" GET / HTTP/1.0" sock write-file throw
: semit ( ch s -- ) swap >r rp@ swap 1 swap write-file throw rdrop ;
: scr 13 sock semit 10 sock semit ;
scr
scr
." REQUESTED" cr
here 100000 sock read-file throw constant len
here len type
bye