Languages

[Genie] LibSoup simple server

Your rating: None Average: 4 (1 vote)
[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()