File-RsyBak
view release on metacpan or search on metacpan
script/rsybak view on Meta::CPAN
# if ( defined $args->{content} ) {
# if (ref $args->{content} eq 'CODE') {
# $request->{headers}{'content-type'} ||= "application/octet-stream";
# $request->{headers}{'transfer-encoding'} = 'chunked'
# unless $request->{headers}{'content-length'}
# || $request->{headers}{'transfer-encoding'};
# $request->{cb} = $args->{content};
# }
# elsif ( length $args->{content} ) {
# my $content = $args->{content};
# if ( $] ge '5.008' ) {
# utf8::downgrade($content, 1)
# or die(qq/Wide character in request message body\n/);
# }
# $request->{headers}{'content-type'} ||= "application/octet-stream";
# $request->{headers}{'content-length'} = length $content
# unless $request->{headers}{'content-length'}
# || $request->{headers}{'transfer-encoding'};
# $request->{cb} = sub { substr $content, 0, length $content, '' };
# }
# $request->{trailer_cb} = $args->{trailer_callback}
script/rsybak view on Meta::CPAN
# $t < 0 ? undef : $t;
# };
#}
#
#my %escapes = map { chr($_) => sprintf("%%%02X", $_) } 0..255;
#$escapes{' '}="+";
#my $unsafe_char = qr/[^A-Za-z0-9\-\._~]/;
#
#sub _uri_escape {
# my ($self, $str) = @_;
# if ( $] ge '5.008' ) {
# utf8::encode($str);
# }
# else {
# $str = pack("U*", unpack("C*", $str))
# if ( length $str == do { use bytes; length $str } );
# $str = pack("C*", unpack("C*", $str));
# }
# $str =~ s/($unsafe_char)/$escapes{$1}/ge;
# return $str;
#}
script/rsybak view on Meta::CPAN
# @_ == 1 || die(q/Usage: $handle->close()/ . "\n");
# my ($self) = @_;
# CORE::close($self->{fh})
# or die(qq/Could not close socket: '$!'\n/);
#}
#
#sub write {
# @_ == 2 || die(q/Usage: $handle->write(buf)/ . "\n");
# my ($self, $buf) = @_;
#
# if ( $] ge '5.008' ) {
# utf8::downgrade($buf, 1)
# or die(qq/Wide character in write()\n/);
# }
#
# my $len = length $buf;
# my $off = 0;
#
# local $SIG{PIPE} = 'IGNORE';
#
# while () {
script/rsybak view on Meta::CPAN
# @_ == 2 || die(q/Usage: $handle->write_content_body(request)/ . "\n");
# my ($self, $request) = @_;
#
# my ($len, $content_length) = (0, $request->{headers}{'content-length'});
# while () {
# my $data = $request->{cb}->();
#
# defined $data && length $data
# or last;
#
# if ( $] ge '5.008' ) {
# utf8::downgrade($data, 1)
# or die(qq/Wide character in write_content()\n/);
# }
#
# $len += $self->write($data);
# }
#
# $len == $content_length
# or die(qq/Content-Length mismatch (got: $len expected: $content_length)\n/);
#
script/rsybak view on Meta::CPAN
# @_ == 2 || die(q/Usage: $handle->write_chunked_body(request)/ . "\n");
# my ($self, $request) = @_;
#
# my $len = 0;
# while () {
# my $data = $request->{cb}->();
#
# defined $data && length $data
# or last;
#
# if ( $] ge '5.008' ) {
# utf8::downgrade($data, 1)
# or die(qq/Wide character in write_chunked_body()\n/);
# }
#
# $len += length $data;
#
# my $chunk = sprintf '%X', length $data;
# $chunk .= "\x0D\x0A";
# $chunk .= $data;
# $chunk .= "\x0D\x0A";
( run in 0.272 second using v1.01-cache-2.11-cpan-a5abf4f5562 )