403Webshell
Server IP : 103.119.228.120  /  Your IP : 18.217.237.169
Web Server : Apache
System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User : nobody ( 99)
PHP Version : 5.6.40
Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime
MySQL : ON |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : ON |  Pkexec : ON
Directory :  /usr/local/ssl/local/ssl/local/ssl/local/ssl/local/share/perl5/Business/OnlinePayment/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/local/ssl/local/ssl/local/ssl/local/ssl/local/share/perl5/Business/OnlinePayment/HTTPS.pm
package Business::OnlinePayment::HTTPS;

use strict;
use base qw(Business::OnlinePayment);
use vars qw($VERSION $DEBUG);
use Tie::IxHash;
use Net::HTTPS::Any 0.10;

$VERSION = '0.10';
$DEBUG   = 0;

=head1 NAME

Business::OnlinePayment::HTTPS - Base class for HTTPS payment APIs

=head1 SYNOPSIS

  package Business::OnlinePayment::MyProcessor;
  use base qw(Business::OnlinePayment::HTTPS);
  
  sub submit {
      my $self = shift;
  
      #...
  
      # pass a list (order is preserved, if your gateway needs that)
      ( $page, $response, %reply_headers )
          = $self->https_get( field => 'value', ... );
  
      # or a hashref
      my %hash = ( field => 'value', ... );
      ( $page, $response_code, %reply_headers )
            = $self->https_get( \%hash );
  
      #...
  }

=head1 DESCRIPTION

This is a base class for HTTPS based gateways, providing useful code
for implementors of HTTPS payment APIs.

It depends on Net::HTTPS::Any, which in turn depends on
Net::SSLeay _or_ ( Crypt::SSLeay and LWP::UserAgent ).

=head1 METHODS

=over 4

=item https_get [ \%options ] HASHREF | FIELD => VALUE, ...

Accepts parameters as either a hashref or a list of fields and values.
In the latter case, ordering is preserved (see L<Tie::IxHash> to do so
when passing a hashref).

Returns a list consisting of the page content as a string, the HTTP
response code and message (i.e. "200 OK" or "404 Not Found"), and a list of
key/value pairs representing the HTTP response headers.

The options hashref supports setting headers:

  {
      headers => { 'X-Header1' => 'value', ... },
  }

=cut

#      Content-Type => 'text/namevalue',

sub https_get {
    my $self = shift;

    # handle optional options hashref
    my $opts = {};
    if ( scalar(@_) > 1 and ref( $_[0] ) eq "HASH" ) {
      $opts = shift;
    }

    # accept a hashref or a list (keep it ordered)
    my $post_data;
    if ( ref( $_[0] ) eq 'HASH' ) {
      $post_data = shift;
    } elsif ( scalar(@_) > 1 ) {
      tie my %hash, 'Tie::IxHash', @_;
      $post_data = \%hash;
    } elsif ( scalar(@_) == 1 ) {
      $post_data = shift;
    } else {
      die "https_get called with no params\n";
    }

    $self->build_subs(qw( response_page response_code response_headers ));

    my( $res_page, $res_code, @res_headers) = Net::HTTPS::Any::https_get( 
      'host'    => $self->server,
      'path'    => $self->path,
      'headers' => $opts->{headers},
      'args'    => $post_data,
      'debug'   => $DEBUG,
    );

    $self->response_page( $res_page );
    $self->response_code( $res_code );
    $self->response_headers( { @res_headers } );

    ( $res_page, $res_code, @res_headers );

}

=item https_post [ \%options ] SCALAR | HASHREF | FIELD => VALUE, ...

Accepts form fields and values as either a hashref or a list.  In the
latter case, ordering is preserved (see L<Tie::IxHash> to do so when
passing a hashref).

Also accepts instead a simple scalar containing the raw content.

Returns a list consisting of the page content as a string, the HTTP
response code and message (i.e. "200 OK" or "404 Not Found"), and a list of
key/value pairs representing the HTTP response headers.

The options hashref supports setting headers and Content-Type:

  {
      headers => { 'X-Header1' => 'value', ... },
      Content-Type => 'text/namevalue',
  }

=cut

sub https_post {
    my $self = shift;

    # handle optional options hashref
    my $opts = {};
    if ( scalar(@_) > 1 and ref( $_[0] ) eq "HASH" ) {
        $opts = shift;
    }

    my %post = (
      'host'         => $self->server,
      'path'         => $self->path,
      'headers'      => $opts->{headers},
      'Content-Type' => $opts->{'Content-Type'},
      'debug'        => $DEBUG,
    );

    # accept a hashref or a list (keep it ordered)
    my $post_data = '';
    my $content = undef;
    if ( ref( $_[0] ) eq 'HASH' ) {
      $post{'args'} = shift;
    } elsif ( scalar(@_) > 1 ) {
      tie my %hash, 'Tie::IxHash', @_;
      $post{'args'} = \%hash;
    } elsif ( scalar(@_) == 1 ) {
      $post{'content'} = shift;
    } else {
      die "https_post called with no params\n";
    }

    $self->build_subs(qw( response_page response_code response_headers ));

    my( $res_page, $res_code, @res_headers)= Net::HTTPS::Any::https_post(%post);

    $self->response_page( $res_page );
    $self->response_code( $res_code );
    $self->response_headers( { @res_headers } );

    ( $res_page, $res_code, @res_headers );

}

=back

=head1 SEE ALSO

L<Business::OnlinePayment>, L<Net::HTTPS::Any>

=cut

1;

Youez - 2016 - github.com/yon3zu
LinuXploit