let server =
new HttpServer();
server.start(-1);
let body =
"";
function handler(request, response) {
response.setStatusLine(request.httpVersion, 200,
"Ok");
response.setHeader(
"Content-Type",
"text/html",
false);
if (!request.hasHeader(
"Cookie")) {
response.setHeader(
"Set-Cookie",
"test",
false);
ok(
true);
}
else {
ok(
false);
}
response.bodyOutputStream.write(body, body.length);
}
function run_test() {
do_test_pending();
server.registerPathHandler(
"/foo", handler);
let xhr =
new XMLHttpRequest();
xhr.open(
"GET",
"http://localhost:" + server.identity.primaryPort + "/foo",
true
);
xhr.send(
null);
xhr.onload =
function () {
// We create another XHR to connect to the same site, but this time we
// specify with different origin attributes, which will make the XHR use a
// different cookie-jar than the previous one.
let xhr2 =
new XMLHttpRequest();
xhr2.open(
"GET",
"http://localhost:" + server.identity.primaryPort + "/foo",
true
);
xhr2.setOriginAttributes({ userContextId: 1 });
xhr2.send(
null);
let loadInfo = xhr2.channel.loadInfo;
Assert.equal(loadInfo.originAttributes.userContextId, 1);
xhr2.onload =
function () {
server.stop(do_test_finished);
};
};
}