Skip to content

Instantly share code, notes, and snippets.

@joedougherty
Last active August 29, 2015 14:24
Show Gist options
  • Save joedougherty/cedbed935c36f8dc9eb3 to your computer and use it in GitHub Desktop.
Save joedougherty/cedbed935c36f8dc9eb3 to your computer and use it in GitHub Desktop.
Porting @alienoid's WSGI server code to Hy! Source: http://ruslanspivak.com/lsbaws-part1/
(import socket)
(import [collections [namedtuple]])
(setv bindparams (namedtuple "bindparams" ["host" "port"]))
(setv bp (bindparams "" 8888))
(setv listen_socket (socket.socket socket.AF_INET socket.SOCK_STREAM))
(listen_socket.setsockopt socket.SOL_SOCKET socket.SO_REUSEADDR 1)
(listen_socket.bind bp)
(listen_socket.listen 1)
(print (.format "Serving HTTP on port {}..." bp.port))
(while True
(setv client_info (listen_socket.accept))
(setv client_connection (get client_info 0))
(setv client_address (get client_info 1))
(setv request (client_connection.recv 1024))
(print request)
(setv http_response "HTTP/1.1 200 OK\n\nHello, World!")
(client_connection.sendall http_response)
(client_connection.close))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment