예제 #1
0
        if (!empty($_GET)) {
            $url .= '?' . http_build_query($_GET);
        }
        // Finally, perform the actual redirect:
        REST::redirect(REST::HTTP_TEMPORARY_REDIRECT, $url);
    }
    $xhtml_type = REST::best_xhtml_type() . '; charset=UTF-8';
    $content_type = REST::best_content_type(array($xhtml_type => 1.0, 'application/json' => 1.0, 'application/x-www-form-urlencoded' => 1.0, 'text/plain; charset=US-ASCII' => 0.5), $xhtml_type);
    // When was this handle last modified?
    $modified = 0;
    foreach ($handle->timestamp as $idx => $timestamp) {
        if ($timestamp > $modified) {
            $modified = $timestamp;
        }
    }
    REST::check_if_modified_since($modified);
    REST::header(array('status' => REST::HTTP_OK, 'Content-Type' => $content_type, 'Modified' => REST::http_date($modified)));
    // For a HEAD request, we can quit now:
    if ($_SERVER['REQUEST_METHOD'] === 'HEAD') {
        exit;
    }
    if ($content_type == $xhtml_type) {
        echo REST::html_start('Metadata for handle ' . htmlspecialchars($handle->handle(), ENT_COMPAT, 'UTF-8'));
        echo <<<EOS
<table class="handledata"><tbody><tr>
<th class="idx">idx</th>
<th class="type">type</th>
<th class="data">data</th>
<th class="data">refs</th>
<th class="modified">timestamp</th>
</tr>