X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FHTTP%2FBody.pm;h=acecd21ddc65467402b0adb73cb817eda3681d5c;hb=08160cca69ee960a312c88410dd5c5b3b376a577;hp=9b41753061e7982a58f7bb821c43806d831777b0;hpb=e0c37f8e56e19ce6a767ced61f8300891da095ff;p=catagits%2FHTTP-Body.git diff --git a/lib/HTTP/Body.pm b/lib/HTTP/Body.pm index 9b41753..acecd21 100644 --- a/lib/HTTP/Body.pm +++ b/lib/HTTP/Body.pm @@ -47,9 +47,10 @@ HTTP::Body - HTTP Body Parser $body->add($buffer); } - my $uploads = $body->upload; # hashref - my $params = $body->param; # hashref - my $body = $body->body; # IO::Handle + my $uploads = $body->upload; # hashref + my $params = $body->param; # hashref + my $param_order = $body->param_order # arrayref + my $body = $body->body; # IO::Handle } =head1 DESCRIPTION @@ -106,6 +107,7 @@ sub new { content_type => $content_type, length => 0, param => {}, + param_order => [], state => 'buffering', upload => {}, tmpdir => File::Spec->tmpdir(), @@ -344,6 +346,8 @@ sub param { else { $self->{param}->{$name} = $value; } + + push @{$self->{param_order}}, $name; } return $self->{param}; @@ -388,6 +392,16 @@ sub tmpdir { return $self->{tmpdir}; } +=item param_order + +Returns the array ref of the param keys in the order how they appeared on the body + +=cut + +sub param_order { + return shift->{param_order}; +} + =back =head1 SUPPORT @@ -420,6 +434,8 @@ Kent Fredric Christian Walde +Torsten Raudssus + =head1 LICENSE This library is free software. You can redistribute it and/or modify