Skip to content

Instantly share code, notes, and snippets.

@198d
Created November 4, 2016 13:41
Show Gist options
  • Save 198d/e2a2c405cc027ce620d298f998852895 to your computer and use it in GitHub Desktop.
Save 198d/e2a2c405cc027ce620d298f998852895 to your computer and use it in GitHub Desktop.
hello from the web server
#lang racket
(require racket/unit
racket/unix-socket
(prefix-in tcp: racket/tcp)
net/tcp-sig
web-server/web-server
web-server/dispatchers/dispatch-files)
(define domain-socket@
(unit
(import)
(export tcp^)
(define current-path #f)
(define (tcp-abandon-port tcp-port)
(displayln 'tcp-abandon-port))
(define (tcp-accept listener)
(unix-socket-accept listener))
(define (tcp-accept/enable-break listener)
(unix-socket-accept listener))
(define (tcp-accept-ready? listener)
'tcp-accpet-ready?)
(define (tcp-addresses tcp-port [port-numbers? #f])
(if port-numbers?
(values "socket" 80 "socket" 80)
(values "socket" "socket")))
(define (tcp-close listener)
'tcp-close)
(define (tcp-connect hostname port-no [local-hostname #f] [local-port-no #f])
'tcp-connect)
(define (tcp-connect/enable-break hostname port-no [local-hostname #f] [local-port-no #f])
'tcp-connect/enable-break)
(define (tcp-listener? listener)
(unix-socket-listener? listener))
(define (tcp-listen port-no [max-allow-wait #f] [reuse? #f] [hostname #f])
(when (file-exists? hostname)
(delete-file hostname))
(unix-socket-listen hostname max-allow-wait))))
(define shut-down (serve #:dispatch (lambda (connection request)
(displayln connection)
(displayln request)
((make #:url->path (lambda (url)
(displayln url)
(values
(build-path (current-directory) "data.txt")
(list "/"))))
connection request))
#:port 8080
#:listen-ip "listen.sock"
#:tcp@ domain-socket@))
(do-not-return)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment