Skip to content

Instantly share code, notes, and snippets.

@metaperl
Created May 6, 2011 19:54
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 metaperl/959662 to your computer and use it in GitHub Desktop.
Save metaperl/959662 to your computer and use it in GitHub Desktop.
post '/newkey' => sub {
my $self = shift;
chdir '/home/computer/greenthumb/ssl/';
my $cmd = 'newkey.pl';
my $dumpfile = '/tmp/newkey.log';
my $in = sprintf "%s\n%s\n%s\n%s\n%s\n%s\n",
$self->req->param('org_name'), $self->req->param('city'), $self->req->param('state'),
$self->req->param('common_name'), $self->req->param('phone'),
$self->req->param('mmapa') ? 1 : 0;
# system ("echo '$in' > /tmp/parms.tmp");
system ("echo '$in' | newkey.pl 1> $dumpfile 2>&1");
use File::Slurp;
my $data = read_file($dumpfile);
my $orgdir;
if ($data =~ /mkdir\s+(\S+)/) {
$orgdir = $1;
}
# store log of execution
my $fh = FileHandle->new("> $orgdir/exec.log") or die $!;
$fh->print($data);
$self->render( text => $data );
};
post '/proxy' => sub {
my ($self)=@_;
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
# Form post with exception handling
my $url = "$keyserver/newkey";
my $tx = $ua->post_form($url => $self->req->params);
if (my $res = $tx->success) { $self->render (text => $res->body); }
else {
my ($message, $code) = $tx->error;
die "Error: $message";
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment