diff options
Diffstat (limited to 'test/it_url.testserver.php')
-rw-r--r-- | test/it_url.testserver.php | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/test/it_url.testserver.php b/test/it_url.testserver.php new file mode 100644 index 0000000..530a505 --- /dev/null +++ b/test/it_url.testserver.php @@ -0,0 +1,71 @@ +<?php +$stderr = fopen('php://stderr', 'w'); +fwrite($stderr, "Got Request: '" . $_SERVER['REQUEST_URI'] . "'\n"); +$base = 'http://' . $_SERVER['HTTP_HOST']; + +switch ($_SERVER['PHP_SELF']) +{ + case "/": + echo 'Testserver root output'; + break; + + case "/temp_redirect": + header("Location: $base/redirect_target?type=temporary", true, 303); + break; + + case "/perm_redirect": + header("Location: $base/redirect_target?type=permanent", true, 301); + break; + + case "/created_redirect": + header("Location: $base/redirect_target?type=created", true, 201); + echo "Testserver output *before* created redirect"; + break; + + case "/redirect_loop": + if ($_REQUEST['num'] > 0) + header("Location: $base/redirect_loop?num=" . ($_REQUEST['num'] - 1), true, 303); + break; + + case "/nohost_redirect": + header('Location: /redirect_target?type=nohost', true, 301); + exit; + + case "/relative_redirect": + header('Location: ../redirect_target?type=relative', true, 301); + exit; + + case "/redirect_target": + echo 'Testserver output after ' . $_REQUEST['type'] . ' redirect'; + break; + + case "/long_sleep": + sleep(6); + echo 'Testserver output after long sleep'; + break; + + case "/short_sleep": + sleep(4); + echo 'Testserver output after short sleep'; + break; + + case "/slow_response": + for ($i = 0; $i < 6; $i++) { + sleep(1); + echo "Testserver slow output $i\n"; + } + break; + + case "/get_server_value": + echo $_SERVER[$_REQUEST['key']]; + break; + + case "/repeat": + for ($i = 0; $i < $_REQUEST['num']; $i++) + echo $_REQUEST['string']; + break; + + default: + http_response_code(404); + fwrite($stderr, "Unknown path '$_SERVER[PHP_SELF]' not handled!\n"); +} |