BEGIN {
$CGI::XA::DefaultClass
=
'Apache::CGI'
; };
use
vars
qw(@ISA $VERSION)
;
@ISA
=
qw(CGI::XA)
;
$VERSION
=
"0.11301-alpha"
;
sub
new {
my
(
$class
) =
shift
;
%ENV
= Apache->request->cgi_env;
my
$self
=
$class
->SUPER::new(
@_
);
$self
->{
'.req'
} = Apache->request;
$self
;
}
sub
header {
my
$self
=
shift
;
my
$r
=
$self
->{
'.req'
};
$r
->basic_http_header;
return
$self
->CGI::XA::header(
@hdrs
);
}
sub
print
{
my
(
$self
) =
shift
;
$self
->{
'.req'
}->write_client(
@_
);
}
sub
read_from_client {
my
(
$self
,
$fh
,
$buff
,
$len
,
$offset
) =
@_
;
my
$r
=
$self
->{
'.req'
} || Apache->request;
my
(
$own_buffer
,
$ret
,
$own_len
);
if
(
$offset
) {
$ret
=
$r
->read_client_block(
$own_buffer
,
$len
);
substr
(
$$buff
,
$offset
) =
$own_buffer
;
$own_len
=
length
(
$own_buffer
);
}
else
{
$ret
=
$r
->read_client_block(
$$buff
,
$len
);
$own_len
=
length
(
$$buff
);
}
my
$fulllen
=
length
(
$$buff
);
my
$caller
=
""
;
warn
qq{ret [$ret] len [$len] offset [$offset] own_len [$own_len] fulllen [$fulllen] caller [$caller]\n}
;
$own_len
;
}
sub
new_MultipartBuffer {
my
$self
=
shift
;
my
$new
= Apache::MultipartBuffer->new(
$self
,
@_
);
$new
->{
'.req'
} =
$self
->{
'.req'
} || Apache->request;
return
$new
;
}
@ISA
=
qw(CGI::XA::MultipartBuffer)
;
sub
wouldBlock {
undef
}
*Apache::MultipartBuffer::read_from_client
= \
&Apache::CGI::read_from_client
;
1;