From 258d3e1c7d5d99ab202ffe5ce777c435fc34d44a Mon Sep 17 00:00:00 2001 From: Dylan William Hardison Date: Wed, 13 Jun 2018 12:26:14 -0400 Subject: add script --- scripts/rewrite2mojo.pl | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 scripts/rewrite2mojo.pl (limited to 'scripts') 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 "}"; + } +} + + -- cgit v1.2.3-24-g4f1b