diff options
author | Dylan William Hardison <dylan@hardison.net> | 2018-06-13 18:26:14 +0200 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2018-06-28 22:41:58 +0200 |
commit | 258d3e1c7d5d99ab202ffe5ce777c435fc34d44a (patch) | |
tree | e483d2e4752deab5de89b56721a745acd29870d8 | |
parent | f069a27e3b573ad602c92c2c47a56c96f2895ae8 (diff) | |
download | bugzilla-258d3e1c7d5d99ab202ffe5ce777c435fc34d44a.tar.gz bugzilla-258d3e1c7d5d99ab202ffe5ce777c435fc34d44a.tar.xz |
add script
-rwxr-xr-x | scripts/rewrite2mojo.pl | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/rewrite2mojo.pl b/scripts/rewrite2mojo.pl new file mode 100755 index 000000000..42188d739 --- /dev/null +++ b/scripts/rewrite2mojo.pl @@ -0,0 +1,39 @@ +#!/usr/bin/perl +# 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. + +use 5.10.1; +use strict; +use warnings; + +while (<>) { + my ($cmd, @args) = split /\s+/, $_; + next unless $cmd; + if (lc($cmd) eq "\LRewriteRule") { + my ($regex, $target, $flags) = @args; + $flags //= ''; + next if $flags =~ /E=HTTP/; + my $action = 'rewrite_query'; + if ($flags =~ /R/) { + $action = 'redirect'; + } + say qq{# from line $. of $ARGV}; + say "if (my \@match = \$path =~ m{$regex}s) {"; + say " $action(\$c, q{$target}, \@match);"; + say " return;" if $flags =~ /L/; + say "}"; + } + elsif (lc($cmd) eq "\LRedirect") { + say qq{# from line $. of $ARGV}; + say "if (my \@match = \$path =~ m{$regex}s) {"; + say " $action(\$c, q{$target}, \@match);"; + say " return;" if $flags =~ /L/; + say "}"; + } +} + + |