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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
package PONAPI::Client::UA::YAHC;
# ABSTRACT: A wrapper for a YAHC UA
################################################################################
################################################################################
use strict;
use warnings;
use Moose;
use YAHC;
with 'PONAPI::Client::Role::UA';
################################################################################
################################################################################
has yahc => (
is => 'ro',
isa => 'YAHC',
lazy => 1,
builder => '_build_yahc',
);
has yahc_storage => (
is => 'ro',
isa => 'Ref',
);
has scheme => (
is => 'ro',
isa => 'Str',
default => 'http',
);
has ssl_options => (
is => 'ro',
isa => 'HashRef',
deafult => sub { +{} },
);
################################################################################
################################################################################
sub _build_yahc {
my ($self) = @_;
my ($yahc, $yahc_storage) = YAHC->new();
$self->yahc_storage($yahc_storage);
return $yahc;
}
################################################################################
################################################################################
sub send_http_request {
my ($self, $request) = @_;
my $ponapi_response;
my $callback = sub {
my ($conn) = @_;
my $response = $conn->{response};
$ponapi_response = {
status => $response->{status},
head => $response->{head},
body => $response->{body},
};
};
local $request->{callback} = $callback;
local $request->{scheme} = $self->scheme;
local $request->{ssl_options} = $self->ssl_options;
my $yahc = $self->yahc;
$yahc->request($request);
$yahc->run();
return $ponapi_response;
}
################################################################################
################################################################################
sub before_request { }
################################################################################
################################################################################
sub after_request { }
################################################################################
################################################################################
no Moose;
__PACKAGE__->meta->make_immutable();
1;
################################################################################
################################################################################
__END__
=pod
=encoding UTF-8
=head1 NAME
PONAPI::Client::UA::YAHC - A wrapper for a YAHC UA
=head1 VERSION
version 0.002012
=head1 AUTHORS
=over 4
=item *
Mickey Nasriachi <mickey@cpan.org>
=item *
Stevan Little <stevan@cpan.org>
=item *
Brian Fraser <hugmeir@cpan.org>
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2019 by Mickey Nasriachi, Stevan Little, Brian Fraser.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|