first commit
This commit is contained in:
		
							
								
								
									
										162
									
								
								vendor/symfony/contracts/HttpClient/Test/Fixtures/web/index.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								vendor/symfony/contracts/HttpClient/Test/Fixtures/web/index.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,162 @@ | ||||
| <?php | ||||
|  | ||||
| if ('cli-server' !== \PHP_SAPI) { | ||||
|     // safe guard against unwanted execution | ||||
|     throw new \Exception("You cannot run this script directly, it's a fixture for TestHttpServer."); | ||||
| } | ||||
|  | ||||
| $vars = []; | ||||
|  | ||||
| if (!$_POST) { | ||||
|     $_POST = json_decode(file_get_contents('php://input'), true); | ||||
|     $_POST['content-type'] = $_SERVER['HTTP_CONTENT_TYPE'] ?? '?'; | ||||
| } | ||||
|  | ||||
| foreach ($_SERVER as $k => $v) { | ||||
|     switch ($k) { | ||||
|         default: | ||||
|             if (0 !== strpos($k, 'HTTP_')) { | ||||
|                 continue 2; | ||||
|             } | ||||
|             // no break | ||||
|         case 'SERVER_NAME': | ||||
|         case 'SERVER_PROTOCOL': | ||||
|         case 'REQUEST_URI': | ||||
|         case 'REQUEST_METHOD': | ||||
|         case 'PHP_AUTH_USER': | ||||
|         case 'PHP_AUTH_PW': | ||||
|             $vars[$k] = $v; | ||||
|     } | ||||
| } | ||||
|  | ||||
| $json = json_encode($vars, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); | ||||
|  | ||||
| switch ($vars['REQUEST_URI']) { | ||||
|     default: | ||||
|         exit; | ||||
|  | ||||
|     case '/head': | ||||
|         header('Content-Length: '.strlen($json), true); | ||||
|         break; | ||||
|  | ||||
|     case '/': | ||||
|     case '/?a=a&b=b': | ||||
|     case 'http://127.0.0.1:8057/': | ||||
|     case 'http://localhost:8057/': | ||||
|         ob_start('ob_gzhandler'); | ||||
|         break; | ||||
|  | ||||
|     case '/103': | ||||
|         header('HTTP/1.1 103 Early Hints'); | ||||
|         header('Link: </style.css>; rel=preload; as=style', false); | ||||
|         header('Link: </script.js>; rel=preload; as=script', false); | ||||
|         flush(); | ||||
|         usleep(1000); | ||||
|         echo "HTTP/1.1 200 OK\r\n"; | ||||
|         echo "Date: Fri, 26 May 2017 10:02:11 GMT\r\n"; | ||||
|         echo "Content-Length: 13\r\n"; | ||||
|         echo "\r\n"; | ||||
|         echo 'Here the body'; | ||||
|         exit; | ||||
|  | ||||
|     case '/404': | ||||
|         header('Content-Type: application/json', true, 404); | ||||
|         break; | ||||
|  | ||||
|     case '/301': | ||||
|         if ('Basic Zm9vOmJhcg==' === $vars['HTTP_AUTHORIZATION']) { | ||||
|             header('Location: http://127.0.0.1:8057/302', true, 301); | ||||
|         } | ||||
|         break; | ||||
|  | ||||
|     case '/301/bad-tld': | ||||
|         header('Location: http://foo.example.', true, 301); | ||||
|         break; | ||||
|  | ||||
|     case '/301/invalid': | ||||
|         header('Location: //?foo=bar', true, 301); | ||||
|         break; | ||||
|  | ||||
|     case '/302': | ||||
|         if (!isset($vars['HTTP_AUTHORIZATION'])) { | ||||
|             header('Location: http://localhost:8057/', true, 302); | ||||
|         } | ||||
|         break; | ||||
|  | ||||
|     case '/302/relative': | ||||
|         header('Location: ..', true, 302); | ||||
|         break; | ||||
|  | ||||
|     case '/304': | ||||
|         header('Content-Length: 10', true, 304); | ||||
|         echo '12345'; | ||||
|  | ||||
|         return; | ||||
|  | ||||
|     case '/307': | ||||
|         header('Location: http://localhost:8057/post', true, 307); | ||||
|         break; | ||||
|  | ||||
|     case '/length-broken': | ||||
|         header('Content-Length: 1000'); | ||||
|         break; | ||||
|  | ||||
|     case '/post': | ||||
|         $output = json_encode($_POST + ['REQUEST_METHOD' => $vars['REQUEST_METHOD']], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); | ||||
|         header('Content-Type: application/json', true); | ||||
|         header('Content-Length: '.strlen($output)); | ||||
|         echo $output; | ||||
|         exit; | ||||
|  | ||||
|     case '/timeout-header': | ||||
|         usleep(300000); | ||||
|         break; | ||||
|  | ||||
|     case '/timeout-body': | ||||
|         echo '<1>'; | ||||
|         @ob_flush(); | ||||
|         flush(); | ||||
|         usleep(500000); | ||||
|         echo '<2>'; | ||||
|         exit; | ||||
|  | ||||
|     case '/timeout-long': | ||||
|         ignore_user_abort(false); | ||||
|         sleep(1); | ||||
|         while (true) { | ||||
|             echo '<1>'; | ||||
|             @ob_flush(); | ||||
|             flush(); | ||||
|             usleep(500); | ||||
|         } | ||||
|         exit; | ||||
|  | ||||
|     case '/chunked': | ||||
|         header('Transfer-Encoding: chunked'); | ||||
|         echo "8\r\nSymfony \r\n5\r\nis aw\r\n6\r\nesome!\r\n0\r\n\r\n"; | ||||
|         exit; | ||||
|  | ||||
|     case '/chunked-broken': | ||||
|         header('Transfer-Encoding: chunked'); | ||||
|         echo "8\r\nSymfony \r\n5\r\nis aw\r\n6\r\ne"; | ||||
|         exit; | ||||
|  | ||||
|     case '/gzip-broken': | ||||
|         header('Content-Encoding: gzip'); | ||||
|         echo str_repeat('-', 1000); | ||||
|         exit; | ||||
|  | ||||
|     case '/max-duration': | ||||
|         ignore_user_abort(false); | ||||
|         while (true) { | ||||
|             echo '<1>'; | ||||
|             @ob_flush(); | ||||
|             flush(); | ||||
|             usleep(500); | ||||
|         } | ||||
|         exit; | ||||
| } | ||||
|  | ||||
| header('Content-Type: application/json', true); | ||||
|  | ||||
| echo $json; | ||||
		Reference in New Issue
	
	Block a user