git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Eric Wong <normalperson@yhbt.net>
Cc: git@vger.kernel.org, Christian Couder <chriscool@tuxfamily.org>
Subject: Re: Adding support for "plackup" and similar web server tools to git-instaweb
Date: Tue, 4 May 2010 00:25:51 +0200	[thread overview]
Message-ID: <201005040025.53473.jnareb@gmail.com> (raw)
In-Reply-To: <20100503205624.GA3791@dcvr.yhbt.net>

On Mon, 3 May 2010, Eric Wong wrote:
> Jakub Narebski <jnareb@gmail.com> wrote:
> >
> > The problem is that contrary to other web servers that can be used by
> > git-instaweb, (namely apache2, lighttpd, mongoose and webrick), the
> > 'plackup' utility is configured using command line options, and not
> > via configuration file (well, one can use configuration file, but it
> > depends on the web server run from plackup).
> > 
> > How should one go with adding support for such httpd?  My first attempt
> > was putting full command line into 'httpd' in resolve_full_httpd():
> > 
> > +       *plackup*)
> > +               # plackup is configured via command-line options
> > +               bind=
> > +               test x"$local" = xtrue && bind="--host=127.0.0.1"
> > +               httpd="$httpd --port=$port $bind --app=$fqgitdir/gitweb/app.psgi"
> > +               ;;
[...]
> > So how should one go with adding support for new web server to git-instaweb,
> > that is configured via command line options (--port, --host) and not via
> > config file?
> 
> How about generating a small shell script that wraps plackup with the
> appropriate command-line options?

 RFC1925 - The Twelve Networking Truths                      1 April 1996
 
 2. The Fundamental Truths

         (6a) (corollary). It is always possible to add another level of
              indirection.

Just kidding...


More seriously, even currently in git-instaweb the 'httpd' variable
contains web server invocation *with options* (see the case of apache2
and lighttpd, where resolve_full_httpd() ensures that 'httpd' ends
with '-f' in such case.  Using 'httpd' variable to be plackup-with-options
naturally follows from such example.

Shell script (plackup.sh?  gitweb-plackup.sh?  instaweb-plackup.sh?)
might be good idea, though.  Note that we have to create gitweb.psgi
(or app.psgi) CGI-to-PSGI wrapper (and to serve static files like 
gitweb.css) anyway by git-instaweb.

-- 
Jakub Narebski
Poland

      reply	other threads:[~2010-05-03 22:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-02  1:17 Adding support for "plackup" and similar web server tools to git-instaweb Jakub Narebski
2010-05-03 20:56 ` Eric Wong
2010-05-03 22:25   ` Jakub Narebski [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201005040025.53473.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.org \
    --cc=normalperson@yhbt.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).