Пример #1
1
function do_test($context_options)
{
    $context = stream_context_create(array('http' => $context_options));
    $responses = array("data://text/plain,HTTP/1.0 302 Moved Temporarily\r\nLocation: http://127.0.0.1:12342/foo/bar2\r\n\r\n1", "data://text/plain,HTTP/1.0 301 Moved Permanently\r\nLocation: http://127.0.0.1:12342/foo/bar3\r\n\r\n", "data://text/plain,HTTP/1.0 302 Moved Temporarily\r\nLocation: http://127.0.0.1:12342/foo/bar4\r\n\r\n3", "data://text/plain,HTTP/1.0 200 OK\r\n\r\ndone.");
    $pid = http_server("tcp://127.0.0.1:12342", $responses, $output);
    $fd = fopen('http://127.0.0.1:12342/foo/bar', 'rb', false, $context);
    var_dump($fd);
    if ($fd) {
        $meta_data = stream_get_meta_data($fd);
        var_dump($meta_data['wrapper_data']);
        var_dump(stream_get_contents($fd));
    }
    fseek($output, 0, SEEK_SET);
    var_dump(stream_get_contents($output));
    http_server_kill($pid);
}
Пример #2
0
function do_test($header)
{
    $options = ['http' => ['method' => 'POST', 'header' => $header, 'follow_location' => true]];
    $ctx = stream_context_create($options);
    $responses = ["data://text/plain,HTTP/1.1 201\r\nLocation: /foo\r\n\r\n", "data://text/plain,HTTP/1.1 200\r\nConnection: close\r\n\r\n"];
    $pid = http_server('tcp://127.0.0.1:12342', $responses, $output);
    $fd = fopen('http://127.0.0.1:12342/', 'rb', false, $ctx);
    fseek($output, 0, SEEK_SET);
    echo stream_get_contents($output);
    http_server_kill($pid);
}
Пример #3
0
function do_test()
{
    $responses = array("data://text/plain,HTTP/1.0 200 OK\r\n\r\n");
    $pid = http_server("tcp://127.0.0.1:12342", $responses, $output);
    foreach ($responses as $r) {
        $fd = fopen('http://127.0.0.1:12342/', 'rb', false);
        fseek($output, 0, SEEK_SET);
        var_dump(stream_get_contents($output));
        fseek($output, 0, SEEK_SET);
    }
    http_server_kill($pid);
}
function do_test()
{
    $responses = array("data://text/plain,HTTP/1.0 404 Not Found\r\n\r\n", "data://text/plain,HTTP/1.0 404 Not Found\r\n\r\n", "data://text/plain,HTTP/1.0 404 Not Found\r\n\r\n");
    $pid = http_server("tcp://127.0.0.1:12342", $responses, $output);
    $a = $b = count(get_resources());
    $i = 3;
    while ($i--) {
        $context = stream_context_create(array('http' => array('timeout' => 1)));
        file_get_contents('http://127.0.0.1:12342/', 0, $context);
        unset($context);
        $b = $a;
        $a = count(get_resources());
    }
    http_server_kill($pid);
    echo "leak? penultimate iteration: {$b}, last one: {$a}\n";
    var_dump($a == $b);
}
Пример #5
0
function do_test($context_options)
{
    $context = stream_context_create(array('http' => $context_options));
    $responses = array("data://text/plain,HTTP/1.0 200 Ok\r\nX-Foo: bar\r\n\r\n1", "data://text/plain,HTTP/1.0 404 Not found\r\nX-bar: baz\r\n\r\n2");
    $pid = http_server("tcp://127.0.0.1:12342", $responses, $output);
    foreach ($responses as $r) {
        $fd = fopen('http://127.0.0.1:12342/foo/bar', 'rb', false, $context);
        var_dump($fd);
        if ($fd) {
            $meta_data = stream_get_meta_data($fd);
            var_dump($meta_data['wrapper_data']);
            var_dump(stream_get_contents($fd));
        }
        fseek($output, 0, SEEK_SET);
        var_dump(stream_get_contents($output));
        fseek($output, 0, SEEK_SET);
    }
    http_server_kill($pid);
}
Пример #6
0
<?php

require 'server.inc';
$x = new OAuth('conskey', 'conssecret', OAUTH_SIG_METHOD_PLAINTEXT);
$x->setRequestEngine(OAUTH_REQENGINE_STREAMS);
$x->setTimestamp(12345);
$x->setNonce('testing');
$port = random_free_port();
$pid = http_server("tcp://127.0.0.1:{$port}", array("HTTP/1.0 200 OK\r\nContent-Type: text/plain\r\nContent-Length: 40\r\n\r\noauth_token=1234&oauth_token_secret=4567"), $output);
$x->setAuthType(OAUTH_AUTH_TYPE_URI);
$x->setToken("key", "secret");
var_dump($x->getAccessToken("http://127.0.0.1:{$port}/test"));
fseek($output, 0, SEEK_SET);
var_dump(stream_get_contents($output));
http_server_kill($pid);
Пример #7
-1
function do_test($version, $connection)
{
    $options = ['http' => ['protocol_version' => $version]];
    if ($connection) {
        $options['http']['header'] = "Connection: {$connection}";
    }
    $ctx = stream_context_create($options);
    $responses = ["data://text/plain,HTTP/{$version} 204 No Content\r\n\r\n"];
    $pid = http_server('tcp://127.0.0.1:12342', $responses, $output);
    $fd = fopen('http://127.0.0.1:12342/', 'rb', false, $ctx);
    fseek($output, 0, SEEK_SET);
    echo stream_get_contents($output);
    http_server_kill($pid);
}