summaryrefslogtreecommitdiffstats
path: root/scripts/rewrite2mojo.pl
diff options
context:
space:
mode:
authorDylan William Hardison <dylan@hardison.net>2018-06-13 18:26:14 +0200
committerDylan William Hardison <dylan@hardison.net>2018-06-28 22:41:58 +0200
commit258d3e1c7d5d99ab202ffe5ce777c435fc34d44a (patch)
treee483d2e4752deab5de89b56721a745acd29870d8 /scripts/rewrite2mojo.pl
parentf069a27e3b573ad602c92c2c47a56c96f2895ae8 (diff)
downloadbugzilla-258d3e1c7d5d99ab202ffe5ce777c435fc34d44a.tar.gz
bugzilla-258d3e1c7d5d99ab202ffe5ce777c435fc34d44a.tar.xz
add script
Diffstat (limited to 'scripts/rewrite2mojo.pl')
-rwxr-xr-xscripts/rewrite2mojo.pl39
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 "}";
+ }
+}
+
+