Skip to content

Commit

Permalink
Change impl of GZIP_POST, DEFLATE_POST. See #62021
Browse files Browse the repository at this point in the history
  • Loading branch information
zoe slattery committed May 15, 2012
1 parent 3332943 commit 1af8b3f
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 16 deletions.
4 changes: 1 addition & 3 deletions ext/soap/tests/server019.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ SOAP Server 19: compressed request (gzip)
?>
--INI--
precision=14
--POST--
--GZIP_POST--
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
Expand All @@ -19,8 +19,6 @@ precision=14
<ns1:test xmlns:ns1="http://testuri.org" />
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--GZIP_POST--
1
--FILE--
<?php
function test() {
Expand Down
4 changes: 1 addition & 3 deletions ext/soap/tests/server020.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ SOAP Server 20: compressed request (deflate)
?>
--INI--
precision=14
--POST--
--DEFLATE_POST--
<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
Expand All @@ -20,8 +20,6 @@ precision=14
<ns1:test xmlns:ns1="http://testuri.org" />
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--DEFLATE_POST--
1
--FILE--
<?php
function test() {
Expand Down
40 changes: 30 additions & 10 deletions run-tests.php
Original file line number Diff line number Diff line change
Expand Up @@ -1315,7 +1315,7 @@ function run_test($php, $file, $env)
$tested = trim($section_text['TEST']);

/* For GET/POST/PUT tests, check if cgi sapi is available and if it is, use it. */
if (!empty($section_text['GET']) || !empty($section_text['POST']) || !empty($section_text['POST_RAW']) || !empty($section_text['PUT']) || !empty($section_text['COOKIE']) || !empty($section_text['EXPECTHEADERS'])) {
if (!empty($section_text['GET']) || !empty($section_text['POST']) || !empty($section_text['GZIP_POST']) || !empty($section_text['DEFLATE_POST']) || !empty($section_text['POST_RAW']) || !empty($section_text['PUT']) || !empty($section_text['COOKIE']) || !empty($section_text['EXPECTHEADERS'])) {
if (isset($php_cgi)) {
$old_php = $php;
$php = $php_cgi . ' -C ';
Expand Down Expand Up @@ -1700,15 +1700,6 @@ function run_test($php, $file, $env)
} else if (array_key_exists('POST', $section_text) && !empty($section_text['POST'])) {

$post = trim($section_text['POST']);

if (array_key_exists('GZIP_POST', $section_text) && function_exists('gzencode')) {
$post = gzencode($post, 9, FORCE_GZIP);
$env['HTTP_CONTENT_ENCODING'] = 'gzip';
} else if (array_key_exists('DEFLATE_POST', $section_text) && function_exists('gzcompress')) {
$post = gzcompress($post, 9);
$env['HTTP_CONTENT_ENCODING'] = 'deflate';
}

save_text($tmp_post, $post);
$content_length = strlen($post);

Expand All @@ -1718,6 +1709,35 @@ function run_test($php, $file, $env)

$cmd = "$php $pass_options $ini_settings -f \"$test_file\" 2>&1 < \"$tmp_post\"";

} else if (array_key_exists('GZIP_POST', $section_text) && !empty($section_text['GZIP_POST'])) {

$post = trim($section_text['GZIP_POST']);
$post = gzencode($post, 9, FORCE_GZIP);
$env['HTTP_CONTENT_ENCODING'] = 'gzip';

save_text($tmp_post, $post);
$content_length = strlen($post);

$env['REQUEST_METHOD'] = 'POST';
$env['CONTENT_TYPE'] = 'application/x-www-form-urlencoded';
$env['CONTENT_LENGTH'] = $content_length;

$cmd = "$php $pass_options $ini_settings -f \"$test_file\" 2>&1 < \"$tmp_post\"";

} else if (array_key_exists('DEFLATE_POST', $section_text) && !empty($section_text['DEFLATE_POST'])) {
$post = trim($section_text['DEFLATE_POST']);
$post = gzcompress($post, 9);
$env['HTTP_CONTENT_ENCODING'] = 'deflate';
save_text($tmp_post, $post);
$content_length = strlen($post);

$env['REQUEST_METHOD'] = 'POST';
$env['CONTENT_TYPE'] = 'application/x-www-form-urlencoded';
$env['CONTENT_LENGTH'] = $content_length;

$cmd = "$php $pass_options $ini_settings -f \"$test_file\" 2>&1 < \"$tmp_post\"";


} else {

$env['REQUEST_METHOD'] = 'GET';
Expand Down

0 comments on commit 1af8b3f

Please sign in to comment.