FastCGI binding or implementation?
Jacob Carlborg
doob at me.com
Tue Oct 18 23:36:06 PDT 2011
On 2011-10-18 19:24, Jeremy Sandell wrote:
> On Mon, Oct 17, 2011 at 2:11 PM, Jacob Carlborg <doob at me.com
> <mailto:doob at 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.
--
/Jacob Carlborg
More information about the Digitalmars-d-learn
mailing list