[indent=4] def default_handler(server : Soup.Server, msg : Soup.Message, path : string, query : GLib.HashTable?, client : Soup.ClientContext) response_text : string = "<html><body><p>Current location: %s</p><p><a href=\"/xml\">Test XML</a></p></body></html>".printf(path) msg.set_response ("text/html", Soup.MemoryUse.COPY, response_text, response_text.len()) def xml_handler(server : Soup.Server, msg : Soup.Message, path : string, query : GLib.HashTable?, client : Soup.ClientContext) response_text : string = "<node><subnode>test</subnode></node>" msg.set_response ("text/xml", Soup.MemoryUse.COPY, response_text, response_text.len()) init var server = new Soup.Server(Soup.SERVER_PORT, 8088) server.add_handler ("/", default_handler) server.add_handler ("/xml", xml_handler) server.run()