Skip to content

Instantly share code, notes, and snippets.

@brianmed
Created May 31, 2016 12:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brianmed/8f45afa95a63bd8f00c3cd5d57f6cf11 to your computer and use it in GitHub Desktop.
Save brianmed/8f45afa95a63bd8f00c3cd5d57f6cf11 to your computer and use it in GitHub Desktop.
Mojolicious req save in under
# Global logic shared by all routes
under(sub {
my $c = shift;
my $dir = $c->app->home->rel_dir("../tx");
my $today = POSIX::strftime("%F", localtime(time));
unless (-d "$dir/$today") {
mkdir("$dir/$today");
}
my ($time, $iso8601);
foreach (qw(1 2 3 4 5)) {
my ($sec, $micro) = Time::HiRes::gettimeofday();
$micro = sprintf("%06d", $micro);
$time = join(".", ($sec, $micro));
$iso8601 = POSIX::strftime("%FT%T", localtime($sec));
if (mkdir("$dir/$today/$time-$iso8601")) {
$dir = "$dir/$today/$time-$iso8601";
last;
}
}
$c->stash("_saved", "$dir/res-$today-$iso8601");
spurt($c->tx->req->to_string, "$dir/req-$today-$iso8601");
return 1 if $c->req->is_secure;
unless ($c->req->is_secure) {
my $url = $c->url_for("/")->to_abs;
$url->scheme('https');
$c->redirect_to($url);
return 1;
}
return 1;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment