1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
#!/usr/bin/perl -w
# Copyright (C) 2016-2021 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict;
use warnings;
use PublicInbox::GitHTTPBackend;
use PublicInbox::Git;
use Plack::Builder;
use BSD::Resource qw(getrusage);
my $git_dir = $ENV{GIANT_GIT_DIR} or die 'GIANT_GIT_DIR not defined in env';
my $git = PublicInbox::Git->new($git_dir);
builder {
enable 'Head';
sub {
my ($env) = @_;
if ($env->{PATH_INFO} =~ m!\A/(.+)\z!s) {
PublicInbox::GitHTTPBackend::serve($env, $git, $1);
} else {
my $ru = getrusage();
my $b = $ru->maxrss . "\n";
[ 200, [ qw(Content-Type text/plain Content-Length),
length($b) ], [ $b ] ]
}
}
}
|