<div dir="ltr">Thank you very very much for taking the time to help me.<br><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 2, 2022 at 2:54 PM Francis Daly <<a href="mailto:francis@daoine.org">francis@daoine.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Jun 23, 2022 at 07:13:34PM +0600, Ahmad Ismail wrote:<br>
<br>
Hi there,<br>
<br>
> will it be a bad idea to extend nginx (ex. create a module) to serve<br>
> my purpose instead of using inetd? Is it possible to make a module that<br>
> will give the HTTP request to `Command1 | Command2 | CommandN`,  then build<br>
> a response from the output (by adding HTTP response message to it) and<br>
> then send the response back to the client.<br>
<br>
You can try that, but I suspect that you will find that you are<br>
re-inventing CGI.<br>
<br>
Your initial model of<br>
<br>
  Request | Web_Server | CLI_APP | ADD_UI | Web_Server > Response<br>
<br>
is, I think, not quite right -- the "Web_Server" is not in the pipeline<br>
twice; instead, the CLI_APP part is "off to the side".<br>
<br>
Since you want the request to come in as http, you will probably be<br>
happier if you keep your CLI_APP and ADD_UI pieces as they are in a<br>
pipeline; but have a CGI wrapper that will call them and provide the<br>
headers that any CGI-supporting web server will know how to handle.<br>
<br>
As it happens -- nginx does not support CGI. So if you want to use nginx<br>
in this model, you will want something like a FastCGI wrapper, or SCGI<br>
wrapper, or something else that speaks a protocol that nginx does support.<br>
<br>
For testing/design, you could use something like "date" as your dummy<br>
CLI_APP; and then learn what you need to do to end up with the current<br>
time showing in the browser.<br>
<br>
I expect that you will either design your own interfaces that only work<br>
in this case; or you will use pre-existing interfaces like CGI.<br>
<br>
Good luck with it,<br>
<br>
        f<br>
-- <br>
Francis Daly        <a href="mailto:francis@daoine.org" target="_blank">francis@daoine.org</a><br>
_______________________________________________<br>
nginx mailing list -- <a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
To unsubscribe send an email to <a href="mailto:nginx-leave@nginx.org" target="_blank">nginx-leave@nginx.org</a><br>
</blockquote></div>