2019-07-02 06:01:09 +07:00
|
|
|
// This file is included via a regular Node require. I'm not sure how (or if)
|
|
|
|
// we can write this in Typescript and have it compile to non-AMD syntax.
|
2019-07-11 04:29:15 +07:00
|
|
|
module.exports = (remoteAuthority, https) => {
|
2019-07-02 06:01:09 +07:00
|
|
|
return {
|
|
|
|
transformIncoming: (uri) => {
|
|
|
|
switch (uri.scheme) {
|
2019-07-11 04:29:15 +07:00
|
|
|
case "https": return { scheme: "file", path: uri.path };
|
|
|
|
case "http": return { scheme: "file", path: uri.path };
|
2019-07-02 22:34:03 +07:00
|
|
|
case "file": return { scheme: "vscode-local", path: uri.path };
|
2019-07-02 06:01:09 +07:00
|
|
|
default: return uri;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
transformOutgoing: (uri) => {
|
|
|
|
switch (uri.scheme) {
|
|
|
|
case "vscode-local": return { scheme: "file", path: uri.path };
|
2019-07-11 04:29:15 +07:00
|
|
|
case "file": return { scheme: https ? "https" : "http", authority: remoteAuthority, path: uri.path };
|
2019-07-02 06:01:09 +07:00
|
|
|
default: return uri;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
transformOutgoingScheme: (scheme) => {
|
|
|
|
switch (scheme) {
|
|
|
|
case "vscode-local": return "file";
|
2019-07-11 04:29:15 +07:00
|
|
|
case "file": return https ? "https" : "http";
|
2019-07-02 06:01:09 +07:00
|
|
|
default: return scheme;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
};
|
|
|
|
};
|