> Thank you very much. I think the cgi module is lower effecient. I found > fcgi(http://www.dsource.org/projects/fastcgi4d) and > mango(http://www.dsource.org/projects/mango) which support servlet. But they > don't > support D2, anyone else can merge them to D2? > > zsxxsz
I've some D2 code working with fastcgi. It accepts some web request, makes live a screenshot of my environment, converts it to png, and sends it back. basically it's an own implementation of the fastcgi protocol. but I think I haven't yet covered all of it. But it's sufficant for me.... /* * main */ int main(char[][] args) { // init FcgiApplication fastcgi = new FcgiApplication(); // listen fastcgi.listen(8080); // redirection fastcgi.accept("/redirect.html", (FcgiRequest request) { request.redirect("http://www.google.de"); }); // dir fastcgi.accept("/users.html", (FcgiRequest request) { request.send("<a href=\"/\">back</a>"); request.send("directory!"); string dir = std.process.shell("ls /etc"); request.send("<pre>" ~ dir ~ "</pre>"); }); // counter int counter = 0; fastcgi.accept("/lukas.html", (FcgiRequest request) { counter++; request.send("hello world!" ~ to!string(counter)); }); // show all variables fastcgi.accept((FcgiRequest request) { request.send("<table>"); foreach(key, value; request.params) { string html = std.string.format("<tr><td>%s</td <td>%s</td></tr>", key, value); request.send(html); } request.send("</table>"); }); // wait until forever return fastcgi.exec(); }