git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFC/PATCH 0/3] instaweb: fix and improve WEBrick support

From
EWEric Wong <normalperson@yhbt.net>
Date
Aug 5, 2010, 09:14 UTC
Message-ID
<20100805091412.GA20998@dcvr.yhbt.net>
In-Reply-To
<20100804102545.GA32128@dcvr.yhbt.net>
Eric Wong <normalperson@yhbt.net> wrote:
Show 15 quoted lines
> Jakub Narebski <jnareb@gmail.com> wrote:
> > Michael Dippery <mdippery@gmail.com> writes:
> > > I _do_ have webrick. Asking around a bit, I was told the the problem
> > > may have been introduced in commit be5347b. Is this so? If not, any
> > > other ideas on what may be causing the problem?
> > 
> > To be more exact commit be5347b (git-instaweb: Put httpd logs in a
> > "$httpd_only" subdirectory, 2010-05-28) by Pavan Kumar Sunkara added
> > resolve_full_httpd before running *_config (webrick_config in this
> > case).  But resolve_full_httpd() beside setting $httpd_only needed
> > later for functionality provided by this commit, does also setting
> > $full_httpd and checking if given web server can be run.
> > 
> I wouldn't mind making it more like what we do with plackup and
> having a single Ruby script, eventually.

Done in 2/3 of my instaweb patch series. 3/3 also adds logging support to WEBrick so it should support everything other web servers support.

Show 9 quoted lines
> > The solution would be to either split resolve_full_httpd() into one
> > function generating $httpd and $httpd_only, and second function
> > generating $full_httpd and checing for web server existence, or create
> > a separate check for 'webrick'.
> 
> I just split out the check and started modelling things after the code
> for plackup.  Unfortunately, I haven't had any luck getting gitweb.cgi
> to respect $GITWEB_CONFIG environment with webrick so the following
> patch just ensures webrick is properly started, not useful.

I had to use the undocumented :CGIInterpreter option of WEBrick along with a shell script wrapper to pass environment variables.

CGI support in WEBrick is implemented strangely: it executes a new Ruby interpreter after forking (but before executing the actual gitweb.cgi). Thus I couldn't just neuter the "ENV.delete" method in the webrick.rb file as the child process would just restore the default behavior.

Pushed out to the "webrick" branch of git://git.bogomips.org/git-svn
Eric Wong (3):
      instaweb: fix WEBrick server support
      instaweb: minimize moving parts for WEBrick
      instaweb: add access+error logging for WEBrick
-- 
Eric Wong
Previous: Eric Wong
Message 5 of 5 in “git instaweb + webrick does not work”
  1. Michael DipperyAug 3, 2010
  2. Jakub NarebskiAug 3, 2010
  3. Split resolve_full_httpd to prevent bug.Jared Hance, Aug 3, 2010
  4. Eric WongAug 4, 2010
  5. 0/3 instaweb: fix and improve WEBrick supportEric Wong, Aug 5, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.