1 package HTTP::Body::Urlencoded;
7 our $DECODE = qr/%u?([0-9a-fA-F]{2,4})/;
12 return unless $self->length == $self->content_length;
14 for my $pair ( split( /[&;]/, $self->{buffer} ) ) {
16 my ( $name, $value ) = split( /=/, $pair );
18 next unless defined $name;
19 next unless defined $value;
21 $name =~ s/$DECODE/chr(hex($1))/eg;
23 $value =~ s/$DECODE/chr(hex($1))/eg;
26 $self->param( $name, $value );
29 $self->{state} = 'done';