CSSValuePool should be non-copyable
[WebKit-https.git] / LayoutTests / http / tests / blink / sendbeacon / resources / save-beacon.php
1 <?php
2 require_once '../../../resources/portabilityLayer.php';
3
4 function prettify($name) {
5    return str_replace(' ', '-', ucwords(str_replace('_', ' ', str_replace('http_', '', strtolower($name)))));
6 }
7
8 $beaconFilename = sys_get_temp_dir() . "/beacon" . (isset($_REQUEST['name']) ? $_REQUEST['name'] : "") . ".txt";
9 $beaconFile = fopen($beaconFilename . ".tmp", 'w');
10 $httpHeaders = $_SERVER;
11 ksort($httpHeaders, SORT_STRING);
12 $contentType = "";
13 foreach ($httpHeaders as $name => $value) {
14     if ($name === "CONTENT_TYPE" || $name === "HTTP_REFERER" || $name === "REQUEST_METHOD" || $name === "HTTP_COOKIE" || $name === "HTTP_ORIGIN") {
15         if ($name === "CONTENT_TYPE") {
16             $contentType = $value;
17             $value = preg_replace('/boundary=.*$/', '', $value);
18         }
19         $headerName = prettify($name);
20         fwrite($beaconFile, "$headerName: $value\n");
21     }
22 }
23 $postdata = file_get_contents("php://input");
24 if (strlen($postdata) == 0)
25    $postdata = http_build_query($_POST);
26
27 fwrite($beaconFile, "Length: " . strlen($postdata) . "\n");
28 if (strpos($contentType, "application/") !== false) {
29     $postdata = base64_encode($postdata);
30 }
31
32 fwrite($beaconFile, "Body: $postdata\n");
33 fclose($beaconFile);
34 rename($beaconFilename . ".tmp", $beaconFilename);
35
36 if (!array_key_exists('dontclearcookies', $_GET)) {
37   foreach ($_COOKIE as $name => $value)
38       setcookie($name, "deleted", time() - 60, "/");
39 }
40 ?>