- my $raw_data = ref($post_data) ? make_form(%$post_data) : $post_data;
-
- my( $res_page, $res_code, @res_headers ) =
- post_https( $self->server,
- $self->port,
- $self->path,
- $headers,
- $raw_data,
- $opts->{"Content-Type"},
- );
-
- $res_code =~ /^(HTTP\S+ )?(.*)/ and $res_code = $2;
-
- $self->response_page( $res_page );
- $self->response_code( $res_code );
- $self->response_headers( { @res_headers } );
-
- ( $res_page, $res_code, @res_headers );
-
- } elsif ( $ssl_module eq 'Crypt::SSLeay' ) {
-
- import HTTP::Request::Common qw(POST);
-
- my $url = 'https://' . $self->server;
- $url .= ':' . $self->port
- unless $self->port == 443;
- $url .= $self->path;
-
- if ($DEBUG) {
- warn $url;
- }
-
- my $ua = new LWP::UserAgent;
- foreach my $hdr ( keys %headers ) {
- $ua->default_header( $hdr => $headers{$hdr} );
- }
-
- my $res;
- if ( ref($post_data) ) {
- $res = $ua->request( POST( $url, [%$post_data] ) );
- }
- else {
- my $req = new HTTP::Request( 'POST' => $url );
- $req->content_type( $opts->{"Content-Type"} );
- $req->content($post_data);
- $res = $ua->request($req);
- }
-
- my @res_headers = map { $_ => $res->header($_) }
- $res->header_field_names;
-
- $self->response_page( $res->content );
- $self->response_code( $res->code. ' '. $res->message );
- $self->response_headers( { @res_headers } );
-
- ( $res->content, $res->code. ' '. $res->message, @res_headers );
-
- } else {
- die "unknown SSL module $ssl_module";
- }