From 50fc02f899e3a7e5b651e4c4dbd87ac663834ac1 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sat, 21 Jun 2014 12:01:50 -0400 Subject: [PATCH] "Web server" --- main.rkt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/main.rkt b/main.rkt index 3013dd2..8e1e81f 100644 --- a/main.rkt +++ b/main.rkt @@ -94,6 +94,28 @@ (void) (gestalt-union (sub (udp-packet ? (udp-listener 6667) ?))))) +(let () + (define (spawn-session them us) + (list + (send #:meta-level 1 + (tcp-channel us them + #"HTTP/1.0 200 OK\r\n\r\n

Hello world from minimart-netstack!

")) + (spawn (lambda (e s) + (match e + [(routing-update g) (transition s (quit))] + [_ #f])) + (void) + (gestalt-union (sub (tcp-channel them us ?) #:meta-level 1) + (sub (tcp-channel them us ?) #:meta-level 1 #:level 1) + (pub (tcp-channel us them ?) #:meta-level 1))))) + + (spawn-world + (spawn-demand-matcher (tcp-channel (?! (tcp-address ? ?)) (?! (tcp-listener 80)) ?) + #:meta-level 1 + spawn-session)) + + ) + (spawn (lambda (e s) (local-require racket/pretty) (match e