File manager - Edit - /usr/local/cpanel/3rdparty/perl/542/cpanel-lib/HTTP/Entity/Parser/JSON.pm
Back
package HTTP::Entity::Parser::JSON; use strict; use warnings; use JSON::MaybeXS qw/decode_json/; use Encode qw/encode_utf8/; sub new { bless [''], $_[0]; } sub add { my $self = shift; if (defined $_[0]) { $self->[0] .= $_[0]; } } sub finalize { my $self = shift; my $p = decode_json($self->[0]); my @params; if (ref $p eq 'HASH') { while (my ($k, $v) = each %$p) { push @params, _encode($k), _encode($v); } } return (\@params, []); } sub _encode { my ($data) = @_; if (ref $data eq "ARRAY") { my @result; for my $d (@$data) { push @result, _encode($d); } return \@result; } elsif (ref $data eq "HASH") { my %result; while (my ($k, $v) = each %$data) { $result{_encode($k)} = _encode($v); } return \%result; } return defined $data ? encode_utf8($data) : undef; } 1; __END__ =encoding utf-8 =head1 NAME HTTP::Entity::Parser::JSON - parser for application/json =head1 SYNOPSIS use HTTP::Entity::Parser; my $parser = HTTP::Entity::Parser->new; $parser->register('application/json','HTTP::Entity::Parser::JSON'); =head1 LICENSE Copyright (C) Masahiro Nagano. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 AUTHOR Masahiro Nagano E<lt>kazeburo@gmail.comE<gt> Tokuhiro Matsuno E<lt>tokuhirom@gmail.comE<gt> =cut
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.05 |
proxy
|
phpinfo
|
Settings