diff options
author | Dylan William Hardison <dylan@hardison.net> | 2015-03-04 04:27:15 +0100 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2015-04-03 00:21:08 +0200 |
commit | c0d00a57eebb31d3e2cdef0ebb9219ebe2fe2bab (patch) | |
tree | e6c6eb07c7348e086f1ed6de54de829e806dda05 /extensions/GitHubAuth/lib/Util.pm | |
parent | 1317be9bb70dbb945fa82d0d1bd8548c83c86ebe (diff) | |
download | bugzilla-c0d00a57eebb31d3e2cdef0ebb9219ebe2fe2bab.tar.gz bugzilla-c0d00a57eebb31d3e2cdef0ebb9219ebe2fe2bab.tar.xz |
Github Auth Extension
Diffstat (limited to 'extensions/GitHubAuth/lib/Util.pm')
-rw-r--r-- | extensions/GitHubAuth/lib/Util.pm | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/extensions/GitHubAuth/lib/Util.pm b/extensions/GitHubAuth/lib/Util.pm new file mode 100644 index 000000000..bda76a420 --- /dev/null +++ b/extensions/GitHubAuth/lib/Util.pm @@ -0,0 +1,35 @@ +# 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::GitHubAuth::Util; + +use strict; +use warnings; + +use Bugzilla::Util qw(correct_urlbase); +use URI; + +use base qw(Exporter); +our @EXPORT = qw( target_uri ); + + +# this is like correct_urlbase() except it returns the *requested* uri, before http url rewrites have been applied. +# needed to generate github's redirect_uri. +sub target_uri { + my $cgi = Bugzilla->cgi; + my $base = URI->new(correct_urlbase()); + if (my $request_uri = $cgi->request_uri) { + $base->path(''); + $request_uri =~ s!^/+!!; + return URI->new($base . "/" . $request_uri); + } + else { + return URI->new(correct_urlbase() . $cgi->url(-relative => 1, query => )); + } +} + +1; |