From 4cdd5e501cf7e50c47cb4e25dd1cdf0aebfc3540 Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Thu, 11 Feb 2016 11:48:08 +0800 Subject: Bug 1244602 - rewrite the bmo --> reviewboard connector to create a bug instead of updating reviewboard --- .../Push/lib/Connector/ReviewBoard/Client.pm | 78 ---------------------- .../Push/lib/Connector/ReviewBoard/Resource.pm | 38 ----------- .../lib/Connector/ReviewBoard/ReviewRequest.pm | 28 -------- 3 files changed, 144 deletions(-) delete mode 100644 extensions/Push/lib/Connector/ReviewBoard/Client.pm delete mode 100644 extensions/Push/lib/Connector/ReviewBoard/Resource.pm delete mode 100644 extensions/Push/lib/Connector/ReviewBoard/ReviewRequest.pm (limited to 'extensions/Push/lib/Connector/ReviewBoard') diff --git a/extensions/Push/lib/Connector/ReviewBoard/Client.pm b/extensions/Push/lib/Connector/ReviewBoard/Client.pm deleted file mode 100644 index 4848d820f..000000000 --- a/extensions/Push/lib/Connector/ReviewBoard/Client.pm +++ /dev/null @@ -1,78 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This Source Code Form is "Incompatible With Secondary Licenses", as -# defined by the Mozilla Public License, v. 2.0. - -package Bugzilla::Extension::Push::Connector::ReviewBoard::Client; - -use 5.10.1; -use strict; -use warnings; - -use Carp qw(croak); -use LWP::UserAgent; -use Scalar::Util qw(blessed); -use URI; - -use Bugzilla::Extension::Push::Connector::ReviewBoard::ReviewRequest; - -BEGIN { - unless (LWP::UserAgent->can('delete')) { - *LWP::UserAgent::delete = sub { - my ($self, @parameters) = @_; - require HTTP::Request::Common; - my @suff = $self->_process_colonic_headers(\@parameters, 1); - return $self->request(HTTP::Request::Common::DELETE(@parameters), @suff); - }; - } -}; - -sub new { - my ($class, %params) = @_; - - croak "->new() is a class method" if blessed($class); - return bless(\%params, $class); -} - -sub username { $_[0]->{username} } -sub password { $_[0]->{password} } -sub base_uri { $_[0]->{base_uri} } -sub realm { $_[0]->{realm} // 'Web API' } -sub proxy { $_[0]->{proxy} } - -sub _netloc { - my $self = shift; - - my $uri = URI->new($self->base_uri); - return $uri->host . ':' . $uri->port; -} - -sub useragent { - my $self = shift; - - unless ($self->{useragent}) { - my $ua = LWP::UserAgent->new(agent => Bugzilla->params->{urlbase}); - $ua->credentials( - $self->_netloc, - $self->realm, - $self->username, - $self->password, - ); - $ua->proxy('https', $self->proxy) if $self->proxy; - $ua->timeout(10); - - $self->{useragent} = $ua; - } - - return $self->{useragent}; -} - -sub review_request { - my $self = shift; - - return Bugzilla::Extension::Push::Connector::ReviewBoard::ReviewRequest->new(client => $self, @_); -} - -1; diff --git a/extensions/Push/lib/Connector/ReviewBoard/Resource.pm b/extensions/Push/lib/Connector/ReviewBoard/Resource.pm deleted file mode 100644 index 3f8d434ce..000000000 --- a/extensions/Push/lib/Connector/ReviewBoard/Resource.pm +++ /dev/null @@ -1,38 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This Source Code Form is "Incompatible With Secondary Licenses", as -# defined by the Mozilla Public License, v. 2.0. - -package Bugzilla::Extension::Push::Connector::ReviewBoard::Resource; - -use 5.10.1; -use strict; -use warnings; - -use URI; -use Carp qw(croak confess); -use Scalar::Util qw(blessed); - -sub new { - my ($class, %params) = @_; - - croak "->new() is a class method" if blessed($class); - return bless(\%params, $class); -} - -sub client { $_[0]->{client} } - -sub path { confess 'Unimplemented'; } - -sub uri { - my ($self, @path) = @_; - - my $uri = URI->new($self->client->base_uri); - $uri->path(join('/', $self->path, @path) . '/'); - - return $uri; -} - -1; diff --git a/extensions/Push/lib/Connector/ReviewBoard/ReviewRequest.pm b/extensions/Push/lib/Connector/ReviewBoard/ReviewRequest.pm deleted file mode 100644 index 32bebfbe8..000000000 --- a/extensions/Push/lib/Connector/ReviewBoard/ReviewRequest.pm +++ /dev/null @@ -1,28 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This Source Code Form is "Incompatible With Secondary Licenses", as -# defined by the Mozilla Public License, v. 2.0. - -package Bugzilla::Extension::Push::Connector::ReviewBoard::ReviewRequest; - -use 5.10.1; -use strict; -use warnings; - -use base 'Bugzilla::Extension::Push::Connector::ReviewBoard::Resource'; - -# Reference: http://www.reviewboard.org/docs/manual/dev/webapi/2.0/resources/review-request/ - -sub path { - return '/api/review-requests'; -} - -sub delete { - my ($self, $id) = @_; - - return $self->client->useragent->delete($self->uri($id)); -} - -1; -- cgit v1.2.3-24-g4f1b