71 lines
1.7 KiB
JavaScript
71 lines
1.7 KiB
JavaScript
/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
var {
|
|
HTTP_400,
|
|
HTTP_401,
|
|
HTTP_402,
|
|
HTTP_403,
|
|
HTTP_404,
|
|
HTTP_405,
|
|
HTTP_406,
|
|
HTTP_407,
|
|
HTTP_408,
|
|
HTTP_409,
|
|
HTTP_410,
|
|
HTTP_411,
|
|
HTTP_412,
|
|
HTTP_413,
|
|
HTTP_414,
|
|
HTTP_415,
|
|
HTTP_417,
|
|
HTTP_500,
|
|
HTTP_501,
|
|
HTTP_502,
|
|
HTTP_503,
|
|
HTTP_504,
|
|
HTTP_505,
|
|
HttpError,
|
|
HttpServer,
|
|
} = ChromeUtils.importESModule("resource://testing-common/httpd.sys.mjs");
|
|
var { NetUtil } = ChromeUtils.importESModule(
|
|
"resource://gre/modules/NetUtil.sys.mjs"
|
|
);
|
|
|
|
const nsIDocumentEncoder = Ci.nsIDocumentEncoder;
|
|
const replacementChar =
|
|
Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER;
|
|
|
|
function loadContentFile(aFile, aCharset) {
|
|
// if(aAsIso == undefined) aAsIso = false;
|
|
if (aCharset == undefined) {
|
|
aCharset = "UTF-8";
|
|
}
|
|
|
|
var file = do_get_file(aFile);
|
|
|
|
var chann = NetUtil.newChannel({
|
|
uri: Services.io.newFileURI(file),
|
|
loadUsingSystemPrincipal: true,
|
|
});
|
|
chann.contentCharset = aCharset;
|
|
|
|
/* var inputStream = Components.classes["@mozilla.org/scriptableinputstream;1"]
|
|
.createInstance(Components.interfaces.nsIScriptableInputStream);
|
|
inputStream.init(chann.open());
|
|
return inputStream.read(file.fileSize);
|
|
*/
|
|
|
|
var inputStream = Cc[
|
|
"@mozilla.org/intl/converter-input-stream;1"
|
|
].createInstance(Ci.nsIConverterInputStream);
|
|
inputStream.init(chann.open(), aCharset, 1024, replacementChar);
|
|
var str = {},
|
|
content = "";
|
|
while (inputStream.readString(4096, str) != 0) {
|
|
content += str.value;
|
|
}
|
|
return content;
|
|
}
|