CGI programs and the gemini protocol

Sean Conner sean at conman.org
Fri Mar 19 23:14:39 GMT 2021
It was thus said that the Great Frank Jüdes once stated:
> Hi fellow Geminauts,
> 
> i am fairly new to the gemini protocol, but already like the simplicity 
> of everything, compared to the complexity of "modern" websites.
> 
> Currently i am using the Jetforce server and several clients (Kristal, 
> Lagrange, Geminaut) and trying to wrap my head around the /input/ 
> status-code:
> 
>  * Upon first invocation my cgi-script figures out that the
>    /QUERY_STRING/ is empty and responds with /10 Please enter some data/
>  * The client is prompting for some data and re-requesting the URL with
>    the data attached: [URL]?Some Data
>  * My CGI program detects that there is some data in the URL and
>    responds with /10 Please enter some more data/
>  * Upon which the client asks me to enter some more data and
>    re-requests the URL, but only with the /some more data/ attached to
>    the URL
>    The data that was already attached to the URL will be replaced with
>    the new data.
> 
> Is that the intended functionality?
> 
> It is only possible to use one parameter?

  It's underspecified, and it's a current issue:

	https://gitlab.com/gemini-specification/protocol/-/issues/19

> That definitely would make parsing the URL somewhat easier, but would 
> require some creativity in the CGI if more than one parameter is needed.

  Yes, and it depends upon the quality of implementation of the CGI spec.

> Can somebody please explain this to me in a nutshell? Thank you very 
> much in advance for your help.

  Unfortunately, it's an open issue.  I'm [1] leaning towards appending the
new output (option #2 on the issue) but the spec needs to be updated first.

  -spc

[1]	Disclaimer:  speaking with my BDFLA [2] hat here.

[2]	Benevelent Dictator For Life's Assistant.



Archive home | About this archive