HTTP-Size
view release on metacpan or search on metacpan
lib/HTTP/Size.pm view on Meta::CPAN
a found BASE tag. See L<HTML::SimpleLinkExtor>.
Javascript and style sheet links are unimplemented right now.
=cut
sub get_sizes {
my $url = shift;
my $base = shift;
my %hash;
my $size = get_size( $url, 'GET' );
@{$hash{$url}}{ qw(size ERROR HTTP_STATUS) }
= ($size, $ERROR, $HTTP_STATUS);
unless( $size and $CONTENT_TYPE eq 'text/html' ) {
return wantarray ? ( $size, \%hash ) : $size;
}
require HTML::SimpleLinkExtor;
my $total = $size;
my $extor = HTML::SimpleLinkExtor->new( $url );
$extor->parse( $CONTENT );
foreach my $img ( $extor->img ) {
my $size = get_size( $img ) || 0;
@{$hash{$img}}{ qw(size ERROR HTTP_STATUS) }
= ( $size, $ERROR, $HTTP_STATUS );
$total += $size;
}
return wantarray ? ( $total, \%hash ) : $total;
}
sub _init {
$ERROR = $CONTENT_TYPE = $CONTENT = $HTTP_STATUS = '';
}
sub _request {
my $response = $User_agent->request( shift );
$HTTP_STATUS = $response->code;
return $response;
}
=back
=head1 TO DO
* if i have to use GET, i should use Byte-Ranges to avoid
downloading the whole thing
* add a way to specify Basic Auth credentials
* download javascript and style sheets too.
=head1 SEE ALSO
L<HTML::SimpleLinkExtor>
=head1 SOURCE AVAILABILITY
This source is part of a GitHub project:
https://github.com/CPAN-Adoptable-Modules/http-size
=head1 AUTHOR
brian d foy, C<< <bdfoy@cpan.org> >>
=head1 COPYRIGHT AND LICENSE
Copyright © 2000-2021, brian d foy <bdfoy@cpan.org>. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License 2.0.
=cut
1;
( run in 0.884 second using v1.01-cache-2.11-cpan-39bf76dae61 )