Apache2-API
view release on metacpan or search on metacpan
lib/Apache2/API.pm view on Meta::CPAN
{
my $self = shift( @_ );
my $r;
$r = shift( @_ ) if( @_ % 2 );
# my $r = shift( @_ ) || Apache2::RequestUtil->request;
$self->{request} = undef unless( $self->{request} );
$self->{response} = undef unless( $self->{response} );
$self->{apache_request} = $r unless( $self->{apache_request} );
# 200Kb
$self->{compression_threshold} = 204800 unless( length( $self->{compression_threshold} ) );
$self->SUPER::init( @_ ) || return( $self->pass_error );
unless( $r = $self->apache_request )
{
$r ||= Apache2::RequestUtil->request;
return( $self->error( "No Apache2::RequestRec object was provided." ) ) if( !$r );
$self->apache_request( $r ) || return( $self->pass_error );
}
my( $req, $resp );
unless( $req = $self->request )
{
$req = Apache2::API::Request->new( $r, debug => $self->debug ) ||
lib/Apache2/API.pm view on Meta::CPAN
my $json = $self->json->allow_nonref->allow_blessed->convert_blessed->relaxed;
my $data;
# try-catch
local $@;
eval
{
$data = $json->encode( $hash );
};
if( $@ )
{
return( $self->error( "An error occurred while trying to encode perl data: $@\nPerl data are: ", sub{ $self->SUPER::dump( $hash ) } ) );
}
return( $data );
}
sub encode_url
{
my $self = shift( @_ );
return( APR::Request::encode( shift( @_ ) ) );
}
lib/Apache2/API/Request.pm view on Meta::CPAN
use strict;
use warnings;
sub init
{
my $self = shift( @_ );
my $r;
$r = shift( @_ ) if( @_ % 2 );
$self->{request} = $r;
$self->{checkonly} = 0;
$self->SUPER::init( @_ ) || return( $self->pass_error );
$r ||= $self->{request};
$self->{accept_charset} = undef;
$self->{auth} = undef;
$self->{charset} = undef;
$self->{client_api_version} = undef;
$self->{_server_version} = undef;
# Which is an Apache2::Request, but inherits everything from Apache2::RequestRec and APR::Request::Apache2
unless( $self->{checkonly} )
{
return( $self->error( "No Apache2::RequestRec was provided." ) ) if( !$r );
lib/Apache2/API/Response.pm view on Meta::CPAN
use warnings;
sub init
{
my $self = shift( @_ );
my $r;
$r = shift( @_ ) if( @_ % 2 );
# Which is an Apache2::Request, but inherits everything from Apache2::RequestRec and APR::Request::Apache2
$self->{request} = '';
$self->{checkonly} = 0;
$self->SUPER::init( @_ );
$r ||= $self->{request};
unless( $self->{checkonly} )
{
return( $self->error( "No Apache2::API::Request was provided." ) ) if( !$r );
return( $self->error( "Apache2::API::Request provided ($r) is not an object!" ) ) if( !Scalar::Util::blessed( $r ) );
return( $self->error( "I was expecting an Apache2::API::Request, but instead I got \"$r\"." ) ) if( !$r->isa( 'Apache2::API::Request' ) );
}
return( $self );
}
lib/Apache2/API/Response.pm view on Meta::CPAN
return( $apr );
}
}
sub _request { return( shift->request->request ); }
sub _set_get_multi
{
my $self = shift( @_ );
my $f = shift( @_ );
return( $self->SUPER::error( "No field was provided to set its value." ) ) if( !defined( $f ) || !length( "$f" ) );
my $headers = $self->headers;
if( @_ )
{
my $v = shift( @_ );
return( $headers->unset( $f ) ) if( !defined( $v ) );
if( $self->_is_array( $v ) )
{
# Take a copy to be safe since this is a reference
$headers->set( $f => [@$v] );
}
lib/Apache2/API/Response.pm view on Meta::CPAN
$v = [split( /\,[[:blank:]\h]*/, $v )];
}
return( $self->new_array( $v ) );
}
}
sub _set_get_one
{
my $self = shift( @_ );
my $f = shift( @_ );
return( $self->SUPER::error( "No field was provided to set its value." ) ) if( !defined( $f ) || !length( "$f" ) );
my $headers = $self->headers;
if( @_ )
{
my $v = shift( @_ );
return( $headers->unset( $f ) ) if( !defined( $v ) );
$headers->set( $f => $v );
return( $self );
}
else
{
lib/Apache2/API/Status.pm view on Meta::CPAN
{
eval( "*Apache2::Const::" . $additions->{ $code } . " = sub{$code};" );
warn( "Error adding Apache2::Const for HTTP code $code: $@" ) if( $@ );
}
}
sub init
{
my $self = shift( @_ );
my $r = shift( @_ );
$self->SUPER::init( @_ );
return( $self );
}
sub convert_short_lang_to_long
{
my $self = shift( @_ );
my $lang = shift( @_ );
# Nothing to do; we already have a good value
return( $lang ) if( $lang =~ /^[a-z]{2}_[A-Z]{2}$/ );
return( $MAP_LANG_SHORT->{ lc( $lang ) } ) if( CORE::exists( $MAP_LANG_SHORT->{ lc( $lang ) } ) );
( run in 1.144 second using v1.01-cache-2.11-cpan-49f99fa48dc )