Apache-Test
view release on metacpan or search on metacpan
lib/Apache/TestClient.pm view on Meta::CPAN
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
package Apache::TestClient;
#this module provides some fallback for when libwww-perl is not installed
#it is by no means an LWP replacement, just enough for very simple requests
#this module does not and will never support certain features such as:
#file upload, http/1.1 (byteranges, keepalive, etc.), following redirects,
#authentication, GET body callbacks, SSL, etc.
use strict;
use warnings FATAL => 'all';
use Apache::TestRequest ();
my $CRLF = "\015\012";
sub request {
lib/Apache/TestConfigPHP.pm view on Meta::CPAN
post_max_size = 8M
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
doc_root =
user_dir =
enable_dl = On
file_uploads = On
upload_max_filesize = 2M
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[Date]
[filter]
[iconv]
[sqlite]
[xmlrpc]
[Pcre]
[Syslog]
lib/Apache/TestRequest.pm view on Meta::CPAN
}
sub UPLOAD {
my($url, $pass, $keep) = prepare(@_);
local $RedirectOK = exists $keep->{redirect_ok}
? $keep->{redirect_ok}
: $RedirectOK;
if ($keep->{filename}) {
return upload_file($url, $keep->{filename}, $pass);
}
else {
return upload_string($url, $keep->{content});
}
}
sub UPLOAD_BODY {
UPLOAD(@_)->content;
}
sub UPLOAD_BODY_ASSERT {
content_assert(UPLOAD(@_));
}
#lwp only supports files
sub upload_string {
my($url, $data) = @_;
my $CRLF = "\015\012";
my $bound = 742617000027;
my $req = HTTP::Request->new(POST => $url);
my $content = join $CRLF,
"--$bound",
"Content-Disposition: form-data; name=\"HTTPUPLOAD\"; filename=\"b\"",
"Content-Type: text/plain", "",
$data, "--$bound--", "";
$req->header("Content-Length", length($content));
$req->content_type("multipart/form-data; boundary=$bound");
$req->content($content);
$UA->request($req);
}
sub upload_file {
my($url, $file, $args) = @_;
my $content = [@$args, filename => [$file]];
$UA->request(HTTP::Request::Common::POST($url,
Content_Type => 'form-data',
Content => $content,
));
}
lib/Apache/TestRequest.pm view on Meta::CPAN
my $res = POST $uri, [ arg => $val, arg2 => $val ];
Sends a POST request to the Apache test server and returns an
C<HTTP::Response> object. An array reference of parameters passed as
the second argument will be submitted to the Apache test server as the
POST content. Parameters corresponding to those documented in
L<Optional Parameters|/Optional
Parameters> can follow the optional array reference of parameters, or after
C<$uri>.
To upload a chunk of data, simply use:
my $res = POST $uri, content => $data;
=head3 POST_STR
A shortcut function for C<POST($uri, @args)-E<gt>content>.
=head3 POST_BODY
A shortcut function for C<POST($uri, @args)-E<gt>content>.
lib/Apache/TestRequest.pm view on Meta::CPAN
representation will consist solely of the headers. Furthermore,
C<POST_HEAD> inserts a "#" at the beginning of each line of the return
string, so that the contents are suitable for printing to STDERR
during your tests without interfering with the workings of
C<Test::Harness>.
=head3 UPLOAD
my $res = UPLOAD $uri, \@args, filename => $filename;
Sends a request to the Apache test server that includes an uploaded
file. Other POST parameters can be passed as a second argument as an
array reference.
C<Apache::TestRequest> will read in the contents of the file named via
the C<filename> parameter for submission to the server. If you'd
rather, you can submit use the C<content> parameter instead of
C<filename>, and its value will be submitted to the Apache server as
file contents:
my $res = UPLOAD $uri, undef, content => "This is file content";
( run in 2.341 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )