-
Kathleen Brade authored
Mozilla renamed some of the nsILoadInfo security flags.
Kathleen Brade authoredMozilla renamed some of the nsILoadInfo security flags.
tl-bridgedb.jsm 26.24 KiB
// Copyright (c) 2020, The Tor Project, Inc.
// See LICENSE for licensing information.
//
// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
/*************************************************************************
* Tor Launcher BridgeDB Communication Module
* https://github.com/isislovecruft/bridgedb/#accessing-the-moat-interface
*************************************************************************/
let EXPORTED_SYMBOLS = [ "TorLauncherBridgeDB" ];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cr = Components.results;
const Cu = Components.utils;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/Subprocess.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "TorLauncherUtil",
"resource://torlauncher/modules/tl-util.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "TorLauncherLogger",
"resource://torlauncher/modules/tl-logger.jsm");
let TorLauncherBridgeDB = // Public
{
get isMoatConfigured()
{
let pref = _MoatRequestor.prototype.kPrefMoatService;
return !!TorLauncherUtil.getCharPref(pref);
},
// Returns an _MoatRequestor object.
createMoatRequestor: function()
{
return new _MoatRequestor();
},
// Extended Error object which is used when we have a numeric code and
// a text error message.
error: function(aCode, aMessage)
{
this.code = aCode;
this.message = aMessage;
},
errorCodeBadCaptcha: 419
};
TorLauncherBridgeDB.error.prototype = Error.prototype; // subclass Error
Object.freeze(TorLauncherBridgeDB);
function _MoatRequestor()
{
}
_MoatRequestor.prototype =
{
kMaxResponseLength: 1024 * 400,
kMoatContentType: "application/vnd.api+json",
kMoatVersion: "0.1.0",
kPrefBridgeDBFront: "extensions.torlauncher.bridgedb_front",
kPrefBridgeDBReflector: "extensions.torlauncher.bridgedb_reflector",
kPrefMoatService: "extensions.torlauncher.moat_service",
kMoatFetchURLPath: "/fetch",
kMoatFetchRequestType: "client-transports",