On Mon, Oct 17, 2011 at 2:11 PM, Jacob Carlborg <d...@me.com> wrote: > On 2011-10-17 16:01, Andrea Fontana wrote: > >> I handle request on different threads. I do some pre-processing on >> scgi data and I fill a struct: >> >> request.get[] >> request.post[] >> request.cookie[] >> request.headers[string] >> >> then I call a virtual function (to override on subclasses) like: >> >> do(request, output); >> >> where user fill output struct in a way like: >> >> output.data ~= "<html><body><h1>hello world</h1></body></html>"; >> output.status = 200 >> output.cookies = bla bla >> >> and then if is method != "head" i send headers + data, else just >> "headers". >> >> btw 99% of usage is get, post, head. >> > > Yes, but if you want to write a web site that is RESTful you need the other > HTTP methods as well, at least PUT and DELETE. > > BTW, what about creating something like Rack but for D. Rack is a low level > interface in front of the web server which web frameworks can be built on > top. > > http://rack.github.com/ > > -- > /Jacob Carlborg >
Yes, this is exactly why I was wondering whether FastCGI had been implemented (though SCGI works for me as well) - so that I could write something on top of it, in much the same way I would using (for example) WSGI in Python. I also agree with you re: supporting all of the HTTP methods. Just because the most common ones are GET, POST, and HEAD doesn't mean we should leave out the others; both PUT and DELETE are quite useful. Best regards, Jeremy Sandell