AnyEvent-HTTPD
view release on metacpan or search on metacpan
lib/AnyEvent/HTTPD/HTTPConnection.pm view on Meta::CPAN
}
return $parts;
}
# application/x-www-form-urlencoded
#
# This is the default content type. Forms submitted with this content type must
# be encoded as follows:
#
# 1. Control names and values are escaped. Space characters are replaced by
# `+', and then reserved characters are escaped as described in [RFC1738],
# section 2.2: Non-alphanumeric characters are replaced by `%HH', a percent
# sign and two hexadecimal digits representing the ASCII code of the
# character. Line breaks are represented as "CR LF" pairs (i.e., `%0D%0A').
#
# 2. The control names/values are listed in the order they appear in the
# document. The name is separated from the value by `=' and name/value pairs
# are separated from each other by `&'.
#
sub _content_type_boundary {
lib/AnyEvent/HTTPD/Util.pm view on Meta::CPAN
package AnyEvent::HTTPD::Util;
use AnyEvent;
use AnyEvent::Socket;
use common::sense;
require Exporter;
our @ISA = qw/Exporter/;
our @EXPORT = qw/parse_urlencoded url_unescape header_set
header_get header_exists/;
=head1 NAME
AnyEvent::HTTPD::Util - Utility functions for AnyEvent::HTTPD
=head1 SYNOPSIS
=head1 DESCRIPTION
The functions in this package are not public.
=over 4
=cut
sub url_unescape {
my ($val) = @_;
$val =~ s/\+/\040/g;
$val =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr (hex ($1))/eg;
$val
}
sub parse_urlencoded {
my ($cont) = @_;
my (@pars) = split /[\&\;]/, $cont;
$cont = {};
for (@pars) {
my ($name, $val) = split /=/, $_;
$name = url_unescape ($name);
$val = url_unescape ($val);
push @{$cont->{$name}}, [$val, ''];
}
$cont
}
sub test_connect {
my ($host, $port, $data) = @_;
my $c = AE::cv;
( run in 0.257 second using v1.01-cache-2.11-cpan-c21f80fb71c )