unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [GNU ELPA] Proposed new package url-scgi.el
@ 2022-09-22 15:02 Stefan Kangas
  2022-09-22 17:17 ` Stefan Monnier
  2022-09-24 22:27 ` Jean Louis
  0 siblings, 2 replies; 7+ messages in thread
From: Stefan Kangas @ 2022-09-22 15:02 UTC (permalink / raw)
  To: emacs-devel

I would like to propose adding url-scgi.el to GNU ELPA.  It implements
the SCGI protocol for url.el, and can be found here:

    https://github.com/skangas/url-scgi

Up until now, it has been developed as part of my mentor.el, that
implements a frontend for the "rtorrent" bittorrent client.[1]
The main motivation for breaking this out into it's own package is to
have a clearer separation of concerns for mentor.el.

This library is obviously quite niche, and is not likely to see a great
deal of interest.  But having it as it's own package might make it a bit
more discoverable, and it does add useful functionality that some might
be interested in.

Footnotes:
[1]  https://github.com/skangas/mentor



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GNU ELPA] Proposed new package url-scgi.el
  2022-09-22 15:02 [GNU ELPA] Proposed new package url-scgi.el Stefan Kangas
@ 2022-09-22 17:17 ` Stefan Monnier
  2022-09-22 19:23   ` Stefan Kangas
  2022-09-24 22:27 ` Jean Louis
  1 sibling, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2022-09-22 17:17 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: emacs-devel

Stefan Kangas [2022-09-22 08:02:18] wrote:
> I would like to propose adding url-scgi.el to GNU ELPA.  It implements
> the SCGI protocol for url.el, and can be found here:
>
>     https://github.com/skangas/url-scgi

This points to a "specification", but that spec is a bit vague (and
with some errors) and is not anything like an RFC, so I'm wondering how
wiedly it's used.  Can you point to actual implementations of SCGI
clients or SCGI servers to better understand the applicability?


        Stefan




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GNU ELPA] Proposed new package url-scgi.el
  2022-09-22 17:17 ` Stefan Monnier
@ 2022-09-22 19:23   ` Stefan Kangas
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Kangas @ 2022-09-22 19:23 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>     https://github.com/skangas/url-scgi
>
> This points to a "specification", but that spec is a bit vague (and
> with some errors) and is not anything like an RFC, so I'm wondering how
> wiedly it's used.  Can you point to actual implementations of SCGI
> clients or SCGI servers to better understand the applicability?

AFAIK, Apache has mod_proxy_scgi[1], and lighttpd has mod_scgi[2]
built-in, and Wikipedia tells me that there is also support in nginx,
Cherokee, and MS-IIS.[3]

I don't know why only the specification exists, and not a proper RFC.
My guess is that it is a combination of SCGI not having enough traction
(with a preference for more fully featured protocols like FastCGI and
WAI) and that it is very lightweight (so cooperation has been easy).

There are, again according to Wikipedia, bindings for a number of
languages, so I would expect there to be more than a handful SCGI
clients out there.  Unfortunately, I had a hard time finding lists of
software that use it.

But I remember that SCGI has been championed within and more popular in
the Python community.  The Python "scgi" module sees frequent updates
(the latest in December 2021), and they helpfully provide a list of
packages that use it (note: "Dependent repositories: 27" and "Used by"):

    https://libraries.io/pypi/scgi

In conclusion, SCGI is not highly popular.  You could maybe even say it
is somewhat obscure.  However, those of us using software that only
support SCGI are, for better or for worse, stuck with it.

Footnotes:
[1]  https://httpd.apache.org/docs/2.4/mod/mod_proxy_scgi.html

[2]  https://redmine.lighttpd.net/projects/1/wiki/Docs_ModSCGI

[3]  https://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GNU ELPA] Proposed new package url-scgi.el
  2022-09-22 15:02 [GNU ELPA] Proposed new package url-scgi.el Stefan Kangas
  2022-09-22 17:17 ` Stefan Monnier
@ 2022-09-24 22:27 ` Jean Louis
  2022-09-24 23:05   ` Stefan Kangas
  1 sibling, 1 reply; 7+ messages in thread
From: Jean Louis @ 2022-09-24 22:27 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: emacs-devel

* Stefan Kangas <stefankangas@gmail.com> [2022-09-22 19:32]:
> I would like to propose adding url-scgi.el to GNU ELPA.  It implements
> the SCGI protocol for url.el, and can be found here:
> 
>     https://github.com/skangas/url-scgi

I am using Emacs to accept double opt-in information from online
subscribers.

Can I then use Emacs to accept HTML forms by using url-scgi on server
to easier parse data?


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GNU ELPA] Proposed new package url-scgi.el
  2022-09-24 22:27 ` Jean Louis
@ 2022-09-24 23:05   ` Stefan Kangas
  2022-09-25 17:07     ` Jean Louis
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Kangas @ 2022-09-24 23:05 UTC (permalink / raw)
  To: Jean Louis; +Cc: emacs-devel

Jean Louis <bugs@gnu.support> writes:

> I am using Emacs to accept double opt-in information from online
> subscribers.
>
> Can I then use Emacs to accept HTML forms by using url-scgi on server
> to easier parse data?

I'm not sure I understand what you're asking, but I'd probably just
start from scratch if I wanted to do something like that.  Maybe you can
copy a snippet or two from url-scgi.el.

I suggest taking a look at the functions provided by url.el:

    (info "(url) Retrieving URLs")



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GNU ELPA] Proposed new package url-scgi.el
  2022-09-24 23:05   ` Stefan Kangas
@ 2022-09-25 17:07     ` Jean Louis
  2022-09-26  9:28       ` Stefan Kangas
  0 siblings, 1 reply; 7+ messages in thread
From: Jean Louis @ 2022-09-25 17:07 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: emacs-devel

* Stefan Kangas <stefankangas@gmail.com> [2022-09-25 02:06]:
> Jean Louis <bugs@gnu.support> writes:
> 
> > I am using Emacs to accept double opt-in information from online
> > subscribers.
> >
> > Can I then use Emacs to accept HTML forms by using url-scgi on server
> > to easier parse data?
> 
> I'm not sure I understand what you're asking, but I'd probably just
> start from scratch if I wanted to do something like that.  Maybe you can
> copy a snippet or two from url-scgi.el.
> 
> I suggest taking a look at the functions provided by url.el:
> 
>     (info "(url) Retrieving URLs")

It is not about retrieving URL alone. Your program is url-scgi.el
right? Maybe I am mistaken. 

Your program is supposed to talk to web server, right?

And I am supposed to send information to web server.

Web server is to notify my program which uses url-scgi.el 

And dispatching of pieces of information will happen
asynchronously. That is the purpose of your program. Do I get it
right? If not, then Emacs could or would need to be spawned in memory
each time if it would be standard CGI:

I need not start from scratch when I just need few adjustments.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [GNU ELPA] Proposed new package url-scgi.el
  2022-09-25 17:07     ` Jean Louis
@ 2022-09-26  9:28       ` Stefan Kangas
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Kangas @ 2022-09-26  9:28 UTC (permalink / raw)
  To: Jean Louis; +Cc: emacs-devel

Jean Louis <bugs@gnu.support> writes:

> It is not about retrieving URL alone. Your program is url-scgi.el
> right? Maybe I am mistaken.

It is specifically for retrieving SCGI URLs.  I've described my use-case
previously (i.e rtorrent, which uses XML-RPC over SCGI).

Note that url-scgi.el is an extension of the `url' package, "an Emacs
Lisp library for parsing URIs and retrieving the resources to which they
refer".

> Your program is supposed to talk to web server, right?

Generally speaking, no.

url-scgi.el is for talking to some back-end software that would normally
communicate over SCGI with a web server.  Or at least that's what I've
used it for.

> And I am supposed to send information to web server.
>
> Web server is to notify my program which uses url-scgi.el
>
> And dispatching of pieces of information will happen
> asynchronously. That is the purpose of your program. Do I get it
> right? If not, then Emacs could or would need to be spawned in memory
> each time if it would be standard CGI:

Do you want to use it as a server rather than a client?  Maybe I
misunderstand.  If so, I've never done something like that with `url',
so I'm afraid I can't be of much help.  (It doesn't seem to me that this
is what `url' was made for, though.)

> I need not start from scratch when I just need few adjustments.

I still don't think I understand what you're trying to do, but if you
think it will work, I certainly don't want to discourage you from
trying.  I'm merely trying to moderate expectations.

Did you give url-scgi.el a try already?  If not, maybe that could help
clarify how it may or may not help you.



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-09-26  9:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-22 15:02 [GNU ELPA] Proposed new package url-scgi.el Stefan Kangas
2022-09-22 17:17 ` Stefan Monnier
2022-09-22 19:23   ` Stefan Kangas
2022-09-24 22:27 ` Jean Louis
2022-09-24 23:05   ` Stefan Kangas
2022-09-25 17:07     ` Jean Louis
2022-09-26  9:28       ` Stefan Kangas

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).