NAME
HTTP::Promise::Stream::UU - Stream Encoder for UU Encoding
SYNOPSIS
use HTTP::Promise::Stream::UU;
my $s = HTTP::Promise::Stream::UU->new ||
die( HTTP::Promise::Stream::UU->error, "\n" );
$s->encode( $input => $output, eol => "\n" ) ||
die( $s->error );
$s->decode( $input => $output ) || die( $s->error );
HTTP::Promise::Stream::UU::encode_uu( $input => $output, eol => "\n" ) ||
die( $HTTP::Promise::Stream::UU::UUError );
HTTP::Promise::Stream::UU::decode_uu( $input => $output, eol => "\n" ) ||
die( $HTTP::Promise::Stream::UU::UUError );
VERSION
v0.1.0
DESCRIPTION
This implements an encoding and decoding mechanism for UU encoding using either of the following on input and output:
filepath
-
If the parameter is neither a scalar reference nor a file handle, it will be assumed to be a file path.
file handle
-
This can be a native file handle, or an object oriented one as long as it implements the
print
orwrite
, andread
methods. Theread
method is expected to return the number of bytes read orundef
upon error. Theprint
andwrite
methods are expected to simply return true upon success andundef
upon error.Alternatively, those methods can die and those exceptions wil be caught.
scalar reference
-
This can be a simple scalar reference, or an object scalar reference.
CONSTRUCTOR
new
Creates a new HTTP::Promise::Stream::UU object and returns it.
METHODS
decode
This takes 2 arguments: an input and an output. Each one can be either a file path, a file handle, or a scalar reference.
It will decode the UU encoded data and write the result into the output.
It returns true upon success and sets an error and return undef
upon error.
encode
This takes 2 arguments: an input and an output. Each one can be either a file path, a file handle, or a scalar reference.
It will encode the data into UU encoded data and write the result into the output.
Possible options are:
- filename
-
The file name (not the file path) to be used for UU encoding.
- mode
-
The file octal permisions, like
0644
. It defaults to0644
if nothing is provided.
It returns true upon success and sets an error and return undef
upon error.
CLASS FUNCTIONS
The following class functions are available and can also be exported, such as:
use HTTP::Promise::Stream::Brotli qw( decode_uu encode_uu );
decode_uu
This takes the same 2 arguments used in "decode": an input and an output. Each one can be either a file path, a file handle, or a scalar reference.
It will decode the UU encoded data and write the result into the output.
It returns true upon success, and upon error, it will set the error in the global variable $UUError
and return undef
my $decoded = HTTP::Promise::Stream::UU::decode_uu( $encoded );
die( "Something went wrong: $HTTP::Promise::Stream::UU::UUError\n" if( !defined( $decoded ) );
print( "Decoded data is: $decoded\n" );
encode_uu
This takes the same 2 arguments used in "encode": an input and an output. Each one can be either a file path, a file handle, or a scalar reference.
It will encode the data into UU encoded data and write the result into the output.
It returns true upon success, and upon error, it will set the error in the global variable $UUError
and return undef
my $encoded = HTTP::Promise::Stream::UU::encode_uu( $data );
die( "Something went wrong: $HTTP::Promise::Stream::UU::UUError\n" if( !defined( $encoded ) );
print( "Encoded data is: $encoded\n" );
AUTHOR
Jacques Deguest <jack@deguest.jp>
SEE ALSO
HTTP::Promise, HTTP::Promise::Request, HTTP::Promise::Response, HTTP::Promise::Message, HTTP::Promise::Entity, HTTP::Promise::Headers, HTTP::Promise::Body, HTTP::Promise::Body::Form, HTTP::Promise::Body::Form::Data, HTTP::Promise::Body::Form::Field, HTTP::Promise::Status, HTTP::Promise::MIME, HTTP::Promise::Parser, HTTP::Promise::IO, HTTP::Promise::Stream, HTTP::Promise::Exception
COPYRIGHT & LICENSE
Copyright(c) 2022 DEGUEST Pte. Ltd.
All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.