Hello community,
here is the log from the commit of package perl-HTTP-Entity-Parser for
openSUSE:Factory checked in at 2020-08-10 14:58:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-HTTP-Entity-Parser (Old)
and /work/SRC/openSUSE:Factory/.perl-HTTP-Entity-Parser.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-HTTP-Entity-Parser"
Mon Aug 10 14:58:31 2020 rev:3 rq:824978 version:0.24
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-HTTP-Entity-Parser/perl-HTTP-Entity-Parser.changes
2020-07-15 15:05:11.743420318 +0200
+++
/work/SRC/openSUSE:Factory/.perl-HTTP-Entity-Parser.new.3399/perl-HTTP-Entity-Parser.changes
2020-08-10 14:58:54.628029390 +0200
@@ -1,0 +2,10 @@
+Thu Aug 6 03:10:27 UTC 2020 - Tina Müller <[email protected]>
+
+- updated to 0.24
+ see /usr/share/doc/packages/perl-HTTP-Entity-Parser/Changes
+
+ 0.24 2020-08-05T05:36:49Z
+
+ - encode recursively nested Arrayrefs and Hashrefs in JSON #13
+
+-------------------------------------------------------------------
Old:
----
HTTP-Entity-Parser-0.23.tar.gz
New:
----
HTTP-Entity-Parser-0.24.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-HTTP-Entity-Parser.spec ++++++
--- /var/tmp/diff_new_pack.mZXSde/_old 2020-08-10 14:58:56.716030492 +0200
+++ /var/tmp/diff_new_pack.mZXSde/_new 2020-08-10 14:58:56.720030495 +0200
@@ -17,7 +17,7 @@
Name: perl-HTTP-Entity-Parser
-Version: 0.23
+Version: 0.24
Release: 0
%define cpan_name HTTP-Entity-Parser
Summary: PSGI compliant HTTP Entity Parser
++++++ HTTP-Entity-Parser-0.23.tar.gz -> HTTP-Entity-Parser-0.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTTP-Entity-Parser-0.23/Changes
new/HTTP-Entity-Parser-0.24/Changes
--- old/HTTP-Entity-Parser-0.23/Changes 2020-07-10 04:45:57.000000000 +0200
+++ new/HTTP-Entity-Parser-0.24/Changes 2020-08-05 07:36:51.000000000 +0200
@@ -1,5 +1,9 @@
Revision history for Perl extension HTTP-Entity-Parser
+0.24 2020-08-05T05:36:49Z
+
+ - encode recursively nested Arrayrefs and Hashrefs in JSON #13
+
0.23 2020-07-10T02:45:46Z
- Handle nested arrays #12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTTP-Entity-Parser-0.23/META.json
new/HTTP-Entity-Parser-0.24/META.json
--- old/HTTP-Entity-Parser-0.23/META.json 2020-07-10 04:45:57.000000000
+0200
+++ new/HTTP-Entity-Parser-0.24/META.json 2020-08-05 07:36:51.000000000
+0200
@@ -4,7 +4,7 @@
"Masahiro Nagano <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "Minilla/v3.0.16",
+ "generated_by" : "Minilla/v3.1.10",
"license" : [
"perl_5"
],
@@ -35,7 +35,7 @@
"requires" : {
"Test::CPAN::Meta" : "0",
"Test::MinimumVersion::Fast" : "0.04",
- "Test::PAUSE::Permissions" : "0.04",
+ "Test::PAUSE::Permissions" : "0.07",
"Test::Pod" : "1.41",
"Test::Spellunker" : "v0.2.7"
}
@@ -68,7 +68,7 @@
"provides" : {
"HTTP::Entity::Parser" : {
"file" : "lib/HTTP/Entity/Parser.pm",
- "version" : "0.23"
+ "version" : "0.24"
},
"HTTP::Entity::Parser::JSON" : {
"file" : "lib/HTTP/Entity/Parser/JSON.pm"
@@ -94,14 +94,16 @@
"web" : "https://github.com/kazeburo/HTTP-Entity-Parser"
}
},
- "version" : "0.23",
+ "version" : "0.24",
"x_contributors" : [
"José Joaquín Atria <[email protected]>",
"Karen Etheridge <[email protected]>",
"Shoichi Kaji <[email protected]>",
"Todd Rinaldo <[email protected]>",
+ "commojun <[email protected]>",
"jrubinator <[email protected]>",
"moznion <[email protected]>"
],
- "x_serialization_backend" : "JSON::PP version 2.27400_02"
+ "x_serialization_backend" : "JSON::PP version 4.04",
+ "x_static_install" : 1
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTTP-Entity-Parser-0.23/META.yml
new/HTTP-Entity-Parser-0.24/META.yml
--- old/HTTP-Entity-Parser-0.23/META.yml 2020-07-10 04:45:57.000000000
+0200
+++ new/HTTP-Entity-Parser-0.24/META.yml 2020-08-05 07:36:51.000000000
+0200
@@ -10,7 +10,7 @@
configure_requires:
Module::Build::Tiny: '0.035'
dynamic_config: 0
-generated_by: 'Minilla/v3.0.16, CPAN::Meta::Converter version 2.150010'
+generated_by: 'Minilla/v3.1.10, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -29,7 +29,7 @@
provides:
HTTP::Entity::Parser:
file: lib/HTTP/Entity/Parser.pm
- version: '0.23'
+ version: '0.24'
HTTP::Entity::Parser::JSON:
file: lib/HTTP/Entity/Parser/JSON.pm
HTTP::Entity::Parser::MultiPart:
@@ -52,12 +52,14 @@
bugtracker: https://github.com/kazeburo/HTTP-Entity-Parser/issues
homepage: https://github.com/kazeburo/HTTP-Entity-Parser
repository: git://github.com/kazeburo/HTTP-Entity-Parser.git
-version: '0.23'
+version: '0.24'
x_contributors:
- 'José Joaquín Atria <[email protected]>'
- 'Karen Etheridge <[email protected]>'
- 'Shoichi Kaji <[email protected]>'
- 'Todd Rinaldo <[email protected]>'
+ - 'commojun <[email protected]>'
- 'jrubinator <[email protected]>'
- 'moznion <[email protected]>'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
+x_static_install: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTTP-Entity-Parser-0.23/README.md
new/HTTP-Entity-Parser-0.24/README.md
--- old/HTTP-Entity-Parser-0.23/README.md 2020-07-10 04:45:57.000000000
+0200
+++ new/HTTP-Entity-Parser-0.24/README.md 2020-08-05 07:36:51.000000000
+0200
@@ -19,7 +19,7 @@
# DESCRIPTION
HTTP::Entity::Parser is a PSGI-compliant HTTP Entity parser. This module also
is compatible
-with [HTTP::Body](https://metacpan.org/pod/HTTP::Body). Unlike HTTP::Body,
HTTP::Entity::Parser reads HTTP entities from
+with [HTTP::Body](https://metacpan.org/pod/HTTP%3A%3ABody). Unlike HTTP::Body,
HTTP::Entity::Parser reads HTTP entities from
PSGI's environment `$env->{'psgi.input'}` and parses it.
This module supports application/x-www-form-urlencoded, multipart/form-data
and application/json.
@@ -70,7 +70,7 @@
"tempname" => "/tmp/XXXXX", # path to the temporary file where
uploaded file is saved
}
- When used with
[Plack::Request::Upload](https://metacpan.org/pod/Plack::Request::Upload):
+ When used with
[Plack::Request::Upload](https://metacpan.org/pod/Plack%3A%3ARequest%3A%3AUpload):
my ( $params, $uploads) = $parser->parse($env);
my $upload_hmv = Hash::MultiValue->new();
@@ -94,7 +94,7 @@
For `multipart/form-data`. It is used for HTTP POST contains file upload.
- MultiPart parser use
[HTTP::MultiPartParser](https://metacpan.org/pod/HTTP::MultiPartParser).
+ MultiPart parser use
[HTTP::MultiPartParser](https://metacpan.org/pod/HTTP%3A%3AMultiPartParser).
- JSON
@@ -110,10 +110,10 @@
# SEE ALSO
-- [HTTP::Body](https://metacpan.org/pod/HTTP::Body)
-- [HTTP::MultiPartParser](https://metacpan.org/pod/HTTP::MultiPartParser)
-- [Plack::Request](https://metacpan.org/pod/Plack::Request)
-- [WWW::Form::UrlEncoded](https://metacpan.org/pod/WWW::Form::UrlEncoded)
+- [HTTP::Body](https://metacpan.org/pod/HTTP%3A%3ABody)
+- [HTTP::MultiPartParser](https://metacpan.org/pod/HTTP%3A%3AMultiPartParser)
+- [Plack::Request](https://metacpan.org/pod/Plack%3A%3ARequest)
+-
[WWW::Form::UrlEncoded](https://metacpan.org/pod/WWW%3A%3AForm%3A%3AUrlEncoded)
HTTP::Entity::Parser uses this for parse application/x-www-form-urlencoded
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/HTTP-Entity-Parser-0.23/lib/HTTP/Entity/Parser/JSON.pm
new/HTTP-Entity-Parser-0.24/lib/HTTP/Entity/Parser/JSON.pm
--- old/HTTP-Entity-Parser-0.23/lib/HTTP/Entity/Parser/JSON.pm 2020-07-10
04:45:57.000000000 +0200
+++ new/HTTP-Entity-Parser-0.24/lib/HTTP/Entity/Parser/JSON.pm 2020-08-05
07:36:51.000000000 +0200
@@ -23,16 +23,33 @@
my @params;
if (ref $p eq 'HASH') {
while (my ($k, $v) = each %$p) {
- if (ref $v) {
- push @params, encode_utf8($k), $v;
- } else {
- push @params, encode_utf8($k), encode_utf8($v);
- }
+ 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__
@@ -64,5 +81,3 @@
Tokuhiro Matsuno E<lt>[email protected]<gt>
=cut
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTTP-Entity-Parser-0.23/lib/HTTP/Entity/Parser.pm
new/HTTP-Entity-Parser-0.24/lib/HTTP/Entity/Parser.pm
--- old/HTTP-Entity-Parser-0.23/lib/HTTP/Entity/Parser.pm 2020-07-10
04:45:57.000000000 +0200
+++ new/HTTP-Entity-Parser-0.24/lib/HTTP/Entity/Parser.pm 2020-08-05
07:36:51.000000000 +0200
@@ -6,7 +6,7 @@
use Stream::Buffered;
use Module::Load;
-our $VERSION = "0.23";
+our $VERSION = "0.24";
our $BUFFER_LENGTH = 65536;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTTP-Entity-Parser-0.23/t/01_content_type/json.t
new/HTTP-Entity-Parser-0.24/t/01_content_type/json.t
--- old/HTTP-Entity-Parser-0.23/t/01_content_type/json.t 2020-07-10
04:45:57.000000000 +0200
+++ new/HTTP-Entity-Parser-0.24/t/01_content_type/json.t 2020-08-05
07:36:51.000000000 +0200
@@ -7,7 +7,7 @@
my $parser = HTTP::Entity::Parser::JSON->new();
$parser->add('{');
-$parser->add('"hoge":["fuga","hige"],');
+$parser->add('"hoge":["fuga","hige","\u306b\u307b\u3093\u3054"],');
$parser->add('"moji":{"kanji":{"ji":"\u5b57"}},');
$parser->add('"\u306b\u307b\u3093\u3054":"\u65e5\u672c\u8a9e",');
$parser->add('"shallow":[{"deeper": "sunk"}],');
@@ -17,9 +17,9 @@
my ($params, $uploads) = $parser->finalize();
is_deeply(Hash::MultiValue->new(@$params)->as_hashref_mixed,
+{
- 'hoge' => [ 'fuga', 'hige' ],
+ 'hoge' => [ 'fuga', 'hige', Encode::encode_utf8('にほんご') ],
'moge' => 'muga',
- 'moji' => { 'kanji' => { 'ji' => '字' } },
+ 'moji' => { 'kanji' => { 'ji' => Encode::encode_utf8('字') } },
'shallow' => [ { 'deeper' => 'sunk' } ],
Encode::encode_utf8('にほんご') => Encode::encode_utf8('日本語'),
});