Revision 156a37a385f8c27d8b35995e88b913d5cfb1e02a authored by Simon Sapin on 21 April 2016, 08:35:40 UTC, committed by Anne van Kesteren on 21 April 2016, 08:35:40 UTC
https://html.spec.whatwg.org/multipage/comms.html#dom-websocket says to parse the first argument with https://url.spec.whatwg.org/#concept-url-parser, which in turns says:

> Remove any leading and trailing C0 controls and space from input.

Which links to:

> The C0 controls and space are C0 controls and code point U+0020. 
> The C0 controls are code points in the range U+0000 to U+001F, inclusive.

So a trailing U+0000 is removed from a string when parsing it as an URL.
1 parent 3d40f9b
Raw File
send-authentication-basic.htm
<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: send() - "Basic" authenticated requests with user name and password passed to open()</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/utils.js"></script>
    <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method" data-tested-assertations="following::ol[1]/li[9]/ol[1]/li[1] following::ol[1]/li[9]/ol[1]/li[2]" />
    <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following::code[contains(@title,'http-authorization')]/.." />
  </head>
  <body>
    <div id="log"></div>
    <script>
      test(function() {
        var client = new XMLHttpRequest(),
          urlstart = location.host + location.pathname.replace(/\/[^\/]*$/, '/'),
          user = token();
        client.open("GET", location.protocol+'//'+urlstart + "resources/auth1/auth.py", false, user, 'pass')
        client.setRequestHeader("x-user", user)
        client.send(null)
        assert_equals(client.responseText, user + "\n" + 'pass')
        assert_equals(client.getResponseHeader('x-challenge'), 'DID')
      }, document.title)
    </script>
    <p>Note: this test will only work as expected once per browsing session. Restart browser to re-test.</p>
  </body>
</html>
back to top