1
1
Fork 0
mirror of https://github.com/azur1s/bobbylisp.git synced 2024-10-16 02:37:40 -05:00
bobbylisp/examples/ht.sial
2022-12-13 23:02:41 +07:00

43 lines
1,021 B
Plaintext

import http from "http"
-- Define a custom type to represent a user
type User =
id: number,
name: string,
end
-- Define a function to handle incoming HTTP requests
fun handle_request
req: http.IncomingMessage,
res: http.ServerResponse,
= do
let user_id = req.url.split("/")[1]
let name =
match user_id
| 12345 -> Some("John Smith")
| 727 -> Some("Foo Bar")
else None
match name
| Some name -> do
let user = User(user_id, name)
res.statusCode = 200
res.setHeader("Content-Type", "application/json")
res.write(JSON.stringify(user))
end
| None -> do
res.statusCode = 404
res.write("User not found")
end
res.end()
end
fun main = do
let
port = 8080,
server = http.createServer(handle_request),
in
server.listen(port, fun -> println("HTTP server listening on port 8080"))
end