What libraries do Elixir and Erlang use for web development with CGI and FastCGI?

What libraries do Elixir and Erlang use for web development with CGI and FastCGI?

If you wish to know it is for shared hosting services which use CGI and FastCGI. VPSs and dedicated servers are not in use here.


You could probably make a simple escript to act as a FastCGI endpoint (I’d not recommend CGI as it would reload the BEAM VM on every-single-request). The spec is certainly simple enough that libraries are not really needed at all.

But why though? You will be losing out on a huge amount of features and speed by doing that… o.O

1 Like

I want to get back to basics in a lot of my programming stuff. It is not for production usage. Over the years I have done to many things at a high level without being familiar with the basics and I want to get back to them.

Do you know of any general guides I can use to learn CGI or FastCGI, like a simple script in bash or python that I can use to check what parameters are sent to the script and echo them back as the response?

Are you trying to use Elixir or Erlang at all?

Well ex_fcgi seems like a basic erlang fastcgi client library , maybe start with that?

EDIT: For note, CGI/FastCGI is so ancient that even the official spec website appears offline: http://www.fastcgi.com/devkit/doc/fcgi-spec.html >.>

It is Elixir I am using, but I have to learn how to link it to ex_fcgi

People don’t hold domain names for that long, there are copies at Github and MitEdu at least they should be there until Github expires or the owners delete them.

1 Like

Is ex_fcgi the script that the server dispatches the request to, or does it have to be linked into the escript that I will be developing?

I don’t think it’s “server-side” at all

ex_fcgi is a straightforward FastCGI client written in Erlang.

i.e. it sounds like it simply enables Erlang to talk to a FastCGI server.

I completely understand this motivation. However, I’m unclear on why cgi or fast_cgi are seen as the basics. They’re older, that’s for sure, but they aren’t particularly basic or fundamental to web interactions. They certainly don’t form the basics that underly how something like Erlang works.

1 Like

That is server-side though. A FastCGI Client is a program that talks over stdin/stdout and a passed socket from a FastCGI server (think nginx or apache).