1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| use Apache2::URI();
use Apache2::Access ();
use Apache2::RequestRec ();
use Apache2::RequestUtil ();
use Apache2::RequestIO ();
use Apache2::Const qw(OK FORBIDDEN DECLINED);
use Sys::Syslog;
use MIME::Base64;
use LWP::UserAgent;
#use IPC::Shareable;
use IO::Compress::Zip ;
our (@ISA, $VERSION, @EXPORTS);
$VERSION = '1.0';
# Declaration des variables globales
our $BASEPRIV;
our $BASEPUB;
our $jsession;
our $BlackList;
our %SESSIONID;
our $DEBUG;
our $UA;
our $timeout;
our $CPR;
our $ROOTDIR;
our $datelog;
our $logg;
our @logd;
@ISA= qw(LWP::UserAgent);
$UA = __PACKAGE__->new;
$UA->agent(join "/", __PACKAGE__, $VERSION);
### Fonction principale appelee par Apache
sub handler
{
my $r = shift;
my $args = $r->args;
my $host = $r->get_remote_host;
my $method = $r->method;
my $bytes = $r->bytes_sent;
my $sec = time();
### Variables definies dans fichiers de configuration de Apache
$DEBUG = $r->dir_config('DEBUG');
$BASEPRIV = $r->dir_config('AppliPRIV');
$BASEPUB = $r->dir_config('AppliPUB');
$BlackList = $r->dir_config('BlackList');
$timeout = $r->dir_config('TimeSession');
$ROOTDIR = $r->dir_config('Acl');
$logg = $r->dir_config('Syslog');
$CPR = $r->dir_config('netCPR');
chomp ($datelog = `date +"%e/%b/%Y:%T %z"`);
@logd = split(/:/ ,$logg);
openlog('Appli','pid',@logd[0]) if @logd[0];
###RECRITURE DES REQUETES (MISE AU FORMAT FIJAIS)
my ($uid, $profil, $cook, $url, $url_init, $atf, $uuu, $arguments, $cprn) = &rewrite_req($r, $BASEPUB, $BASEPRIV);
my $request = &exec_req($r, $url);
my ($response, $content) = &rewrite_response($r, $UA, $request, $BASEPRIV, $BASEPUB, $atf, $arguments, $url_init);
&return_res($r, $content, $response);
return OK;
}
#### REECRITURE DES REQUETES DES CLIENTS (ENTETE ET CONTENU)
sub rewrite_req()
{
...
&log("REECRITURE DES REQUETES DES CLIENTS\n");
&log ("la requete est: $url \n"); |
Partager