From: Emil Williams Date: Thu, 15 May 2025 23:59:47 +0000 (-0600) Subject: -- X-Git-Url: https://git.xolatile.top/?a=commitdiff_plain;h=a3bdc51fdd8412820e00047ac8a61684771c8bbe;p=emil-3chen.org.git -- --- diff --git a/perl/Triple.pm b/perl/Triple.pm index 6a25d0d..cbb76d9 100644 --- a/perl/Triple.pm +++ b/perl/Triple.pm @@ -9,6 +9,7 @@ use Data::Dumper; use CGI; use FCGI; use Template; +use URI::Escape; # Internal use Secrets; @@ -38,6 +39,15 @@ our $template = Template->new({INCLUDE_PATH => 'tt'}); sub Triple::main { + sub parse_post { + my %form; + for my $pair (split /&/, $_[0]) { + my ($key, $val) = split /=/, $pair, 2; + $form{uri_unescape($key)} = uri_unescape($val // ''); + } + return %form; + } + my ($sitename, $version) = init(); my $request = FCGI::Request(); @@ -55,9 +65,10 @@ sub Triple::main { my $method = $ENV{'REQUEST_METHOD'} || ''; my $content_length = $ENV{'CONTENT_LENGTH'} || 0; my $content_type = $ENV{'CONTENT_TYPE'} || ''; + my $body = ''; my $status = ''; my $location; - my $body = ''; + if ($method eq 'POST') { syslog("info", "something like posting has occurred"); if ($content_length > 0) { @@ -69,6 +80,8 @@ sub Triple::main { print $fh "\r\n"; close $fh; + %post = parse_post($body); + $status = '302 Found'; $location = $vars->{"uri"}; }