#!/usr/bin/perl

use strict;
use constant DEFAULT_CONF   => '/etc/apache2/gbrowse';
use constant DEFAULT_MASTER => 'GBrowse.conf';

use CGI;
use File::Spec;
use Bio::Graphics::Browser;
use Bio::Graphics::Browser::Render::HTML;

umask 022;

my $conf_dir  = Bio::Graphics::Browser->config_base;
my $conf_file = $ENV{GBROWSE_MASTER} || DEFAULT_MASTER;

my $globals = Bio::Graphics::Browser->new(File::Spec->catfile($conf_dir,$conf_file))
    or die "Couldn't read globals";

my $fcgi = Bio::Graphics::Browser::Render->fcgi_request;

if ($fcgi) {

    while ($fcgi->Accept >= 0) {
	CGI->initialize_globals();
	Bio::Graphics::Browser::Render::HTML->new($globals)->run();
    }

} else {
    Bio::Graphics::Browser::Render::HTML->new($globals)->run();
}

exit 0;

