app.vala 746 B

12345678910111213141516171819202122232425262728293031
  1. using GLib;
  2. using Valum;
  3. using Valum.ContentNegotiation;
  4. using VSGI;
  5. var app = new Router ();
  6. app.use ((req, res, next) => {
  7. res.headers.replace ("Server", "VSGI/0.3");
  8. return next ();
  9. });
  10. app.get ("/plaintext", accept ("text/plain", (req, res) => {
  11. return res.expand ("Hello, World!".data);
  12. }));
  13. app.get ("/json", accept ("application/json", (req, res, next, stack) => {
  14. var builder = new Json.Builder ();
  15. builder.begin_object ();
  16. builder.set_member_name ("message");
  17. builder.add_string_value ("Hello, World!");
  18. builder.end_object ();
  19. var gen = new Json.Generator ();
  20. gen.root = builder.get_root ();
  21. return res.expand (gen.to_data (null).data);
  22. }));
  23. Server.@new ("http", handler: app).run ({"app", "--address=0.0.0.0:8080"});