dylan-server.dylan 820 B

12345678910111213141516171819202122232425262728
  1. Module: dylan-server
  2. define class <plaintext> (<resource>)
  3. end;
  4. define method respond (plaintext :: <plaintext>, #key)
  5. let stream = current-response();
  6. set-header(stream, "Content-Type", "text/plain;charset=utf-8");
  7. set-header(stream, "Date", as-rfc1123-string(current-date()));
  8. write(stream, "Hello, World!");
  9. end;
  10. define class <json> (<resource>)
  11. end;
  12. define method respond (json :: <json>, #key)
  13. let stream = current-response();
  14. set-header(stream, "Content-Type", "application/json");
  15. set-header(stream, "Date", as-rfc1123-string(current-date()));
  16. print(table("message" => "Hello, World!"), stream);
  17. end;
  18. let server = make(<http-server>, listeners: list("0.0.0.0:8080"));
  19. add-resource(server, "/plaintext", make(<plaintext>));
  20. add-resource(server, "/json", make(<json>));
  21. start-server(server);