server.cr 600 B

12345678910111213141516171819202122
  1. require "http/server"
  2. require "json"
  3. server = HTTP::Server.new("0.0.0.0", 8080) do |context|
  4. response = context.response
  5. response.headers["Server"] = "Crystal"
  6. response.headers["Date"] = Time.utc_now.to_s
  7. case context.request.path
  8. when "/json"
  9. response.status_code = 200
  10. response.headers["Content-Type"] = "application/json"
  11. response.print({message: "Hello, World!"}.to_json)
  12. when "/plaintext"
  13. response.status_code = 200
  14. response.headers["Content-Type"] = "text/plain"
  15. response.print "Hello, World!"
  16. else
  17. response.status_code = 404
  18. end
  19. end
  20. server.listen