blob: 601d64f7472791874a0889f77005581ae052043a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<# example program: a single-request HTTP server
# listen for connections from clients on a server socket
# when a connection occurs, transfer it to a session socket
# read from it using channels
# write to it directly
#
# After running it, navigate to localhost:8080. Your browser should display
# "SUCCESS!" and the server will terminate after one connection.
def main [
local-scope
socket:num <- $open-server-socket 8080/port
$print [Mu socket creation returned ], socket, 10/newline
return-unless socket
session:num <- $accept socket
contents:&:source:char, sink:&:sink:char <- new-channel 30
sink <- start-running receive-from-socket session, sink
query:text <- drain contents
$print [Done reading from socket.], 10/newline
write-to-socket session, [HTTP/1.0 200 OK
Content-type: text/plain
SUCCESS!
]
$print 10/newline, [Wrote to and closing socket...], 10/newline
session <- $close-socket session
socket <- $close-socket socket
]
br>
<a href="ranger.gui.colorscheme.html">colorscheme</a><br>
</td><td width="25%" valign=top><a href="ranger.gui.curses_shortcuts.html">curses_shortcuts</a><br>
<a href="ranger.gui.defaultui.html">defaultui</a><br>
<a href="ranger.gui.displayable.html">displayable</a><br>
</td><td width="25%" valign=top><a href="ranger.gui.mouse_event.html">mouse_event</a><br>
<a href="ranger.gui.ui.html">ui</a><br>
<a href="ranger.gui.widgets.html"><strong>widgets</strong> (package)</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table>
</body></html>
|