Skip to content

Instantly share code, notes, and snippets.

@aaronlifton3
Created January 21, 2013 23:53
Show Gist options
  • Save aaronlifton3/4590691 to your computer and use it in GitHub Desktop.
Save aaronlifton3/4590691 to your computer and use it in GitHub Desktop.
simple erlang server
-module(hello).
-export([start/1]).
start(Port) ->
spawn(fun () -> {ok, Sock} = gen_tcp:listen(Port, [{active, false}]),
loop(Sock) end).
loop(Sock) ->
{ok, Conn} = gen_tcp:accept(Sock),
Handler = spawn(fun () -> handle(Conn) end),
gen_tcp:controlling_process(Conn, Handler),
loop(Sock).
handle(Conn) ->
gen_tcp:send(Conn, response("Hello World")),
response(Str) ->
B = iolist_to_binary(Str),
iolist_to_binary(
io_lib:fwrite(
"HTTP/1.0 200 OK\nContent-Type: text/html\nContent-Length: ~p\n\n~s",
[size(B), B])).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment