1 package HTTP::Body::Parser::UrlEncoded;
5 use base 'HTTP::Body::Parser';
7 our $DECODE = qr/%([0-9a-fA-F]{2})/;
12 return unless $self->seen_eos;
14 for my $pair ( split( /[&;]/, $self->buffer ) ) {
16 my ( $name, $value ) = split( /=/, $pair );
18 next unless defined $name;
19 next unless defined $value;
22 $name =~ s/$DECODE/chr(hex($1))/eg;
24 $value =~ s/$DECODE/chr(hex($1))/eg;
26 $self->context->param->add( $name => $value );