<html>
<body>
<pre id="console"></pre>
<script>
function log(message) {
    document.getElementById('console').appendChild(document.createTextNode(message + '\n'));
}

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://localhost:8000/xmlhttprequest/resources/access-control-basic-allow-access-control-origin-header.cgi', true);
xhr.onload = function () {
    log(xhr.responseText);
    if (window.testRunner)
        testRunner.notifyDone();
}
xhr.send(null);
</script>
</body>
</html>
