On 2011-10-18 19:24, Jeremy Sandell wrote: > On Mon, Oct 17, 2011 at 2:11 PM, Jacob Carlborg <doob@me.com > <mailto:doob@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 Although I have no idea if the rest of the 9 HTTP methods are useful, e.g. trace, options, connect and patch.