From 66258ba7b1eef43067ecc9821fe6b335a7d1aee6 Mon Sep 17 00:00:00 2001 From: Moritz Lenz Date: Sat, 20 Oct 2012 11:59:13 +0200 Subject: [PATCH] Use github token for authentication --- web/lib/P6Project/Hosts/Github.pm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/web/lib/P6Project/Hosts/Github.pm b/web/lib/P6Project/Hosts/Github.pm index 6c7c131..3b68caa 100644 --- a/web/lib/P6Project/Hosts/Github.pm +++ b/web/lib/P6Project/Hosts/Github.pm @@ -7,6 +7,15 @@ use 5.010; use Time::Piece; use Time::Seconds; +my $github_token = do { + open my $IN, '<', 'github-token' + or die "Cannot open file 'github-token' for reading: $!"; + my $token = <$IN>; + chomp $token; + close $IN; + $token; +}; + sub new { my ($class, %opts) = @_; my $self = \%opts; @@ -36,7 +45,7 @@ sub get_api { if ($call) { $url .= $call; } - return $self->p6p->ua->get($url)->res->json; + return $self->p6p->ua->get($url, {Authorization => "token $github_token"})->res->json; } sub file_url { @@ -59,8 +68,10 @@ sub set_project_info { my $stats = $self->p6p->stats; my $url = $self->web_url . $project->{auth} . '/' . $project->{repo_name} . '/'; - if (! $ua->get($url)->success ) { - $stats->error("Error for project $project->{name} : could not get $url (project probably dead)"); + my $tx = $ua->get($url); + if (! $tx->success ) { + my $error = $tx->error; + $stats->error("Error for project $project->{name} : could not get $url: $error (project probably dead)"); return 0; } $project->{url} = $url;