41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* https://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
function test_known_config() {
|
|
let ohttp = Cc["@mozilla.org/network/oblivious-http;1"].getService(
|
|
Ci.nsIObliviousHttp
|
|
);
|
|
let encodedConfig = hexStringToBytes(
|
|
"0100209403aafe76dfd4568481e04e44b42d744287eae4070b50e48baa7a91a4e80d5600080001000100010003"
|
|
);
|
|
let request = hexStringToBytes(
|
|
"00034745540568747470730b6578616d706c652e636f6d012f"
|
|
);
|
|
let ohttpRequest = ohttp.encapsulateRequest(encodedConfig, request);
|
|
ok(ohttpRequest);
|
|
}
|
|
|
|
function test_with_server() {
|
|
let ohttp = Cc["@mozilla.org/network/oblivious-http;1"].getService(
|
|
Ci.nsIObliviousHttp
|
|
);
|
|
let server = ohttp.server();
|
|
ok(server.encodedConfig);
|
|
let request = hexStringToBytes(
|
|
"00034745540568747470730b6578616d706c652e636f6d012f"
|
|
);
|
|
let ohttpRequest = ohttp.encapsulateRequest(server.encodedConfig, request);
|
|
let ohttpResponse = server.decapsulate(ohttpRequest.encRequest);
|
|
ok(ohttpResponse);
|
|
deepEqual(ohttpResponse.request, request);
|
|
let response = hexStringToBytes("0140c8");
|
|
let encResponse = ohttpResponse.encapsulate(response);
|
|
deepEqual(ohttpRequest.response.decapsulate(encResponse), response);
|
|
}
|
|
|
|
function run_test() {
|
|
test_known_config();
|
|
test_with_server();
|
|
}
|