@theia/mini-browser 1.77.0-next.4 → 1.77.0-next.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -75,7 +75,7 @@ export declare class HtmlHandler implements MiniBrowserEndpointHandler {
|
|
|
75
75
|
export declare class ImageHandler implements MiniBrowserEndpointHandler {
|
|
76
76
|
supportedExtensions(): string[];
|
|
77
77
|
priority(): number;
|
|
78
|
-
respond(statWithContent: FileStatWithContent, response: Response):
|
|
78
|
+
respond(statWithContent: FileStatWithContent, response: Response): Promise<Response>;
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
81
|
* PDF endpoint handler.
|
|
@@ -83,7 +83,7 @@ export declare class ImageHandler implements MiniBrowserEndpointHandler {
|
|
|
83
83
|
export declare class PdfHandler implements MiniBrowserEndpointHandler {
|
|
84
84
|
supportedExtensions(): string;
|
|
85
85
|
priority(): number;
|
|
86
|
-
respond(statWithContent: FileStatWithContent, response: Response):
|
|
86
|
+
respond(statWithContent: FileStatWithContent, response: Response): Promise<Response>;
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* Endpoint contribution for SVG resources.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mini-browser-endpoint.d.ts","sourceRoot":"","sources":["../../src/node/mini-browser-endpoint.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mini-browser-endpoint.d.ts","sourceRoot":"","sources":["../../src/node/mini-browser-endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ let MiniBrowserEndpoint = class MiniBrowserEndpoint {
|
|
|
42
42
|
const extensions = await handler.supportedExtensions();
|
|
43
43
|
for (const extension of (Array.isArray(extensions) ? extensions : [extensions]).map(e => e.toLocaleLowerCase())) {
|
|
44
44
|
const existingHandler = this.handlers.get(extension);
|
|
45
|
-
if (!existingHandler || handler.priority > existingHandler.priority) {
|
|
45
|
+
if (!existingHandler || handler.priority() > existingHandler.priority()) {
|
|
46
46
|
this.handlers.set(extension, handler);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -62,8 +62,8 @@ let MiniBrowserEndpoint = class MiniBrowserEndpoint {
|
|
|
62
62
|
if (!exists) {
|
|
63
63
|
return this.missingResourceHandler()(uri, response);
|
|
64
64
|
}
|
|
65
|
-
const statWithContent = await this.readContent(uri);
|
|
66
65
|
try {
|
|
66
|
+
const statWithContent = await this.readContent(uri);
|
|
67
67
|
if (!statWithContent.stat.isDirectory()) {
|
|
68
68
|
const extension = uri.split('.').pop();
|
|
69
69
|
if (!extension) {
|
|
@@ -73,13 +73,13 @@ let MiniBrowserEndpoint = class MiniBrowserEndpoint {
|
|
|
73
73
|
if (!handler) {
|
|
74
74
|
return this.defaultHandler()(statWithContent, response);
|
|
75
75
|
}
|
|
76
|
-
return handler.respond(statWithContent, response);
|
|
76
|
+
return await handler.respond(statWithContent, response);
|
|
77
77
|
}
|
|
78
|
+
return this.defaultHandler()(statWithContent, response);
|
|
78
79
|
}
|
|
79
80
|
catch (e) {
|
|
80
81
|
return this.errorHandler()(e, uri, response);
|
|
81
82
|
}
|
|
82
|
-
return this.defaultHandler()(statWithContent, response);
|
|
83
83
|
}
|
|
84
84
|
getContributions() {
|
|
85
85
|
return this.contributions.getContributions();
|
|
@@ -190,15 +190,11 @@ let ImageHandler = class ImageHandler {
|
|
|
190
190
|
priority() {
|
|
191
191
|
return CODE_EDITOR_PRIORITY + 1;
|
|
192
192
|
}
|
|
193
|
-
respond(statWithContent, response) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
response.contentType('image/jpeg');
|
|
199
|
-
response.send(data);
|
|
200
|
-
});
|
|
201
|
-
return response;
|
|
193
|
+
async respond(statWithContent, response) {
|
|
194
|
+
const fsPath = file_uri_1.FileUri.fsPath(statWithContent.stat.uri);
|
|
195
|
+
const data = await fs.readFile(fsPath);
|
|
196
|
+
response.contentType((0, mime_types_1.lookup)(fsPath) || 'application/octet-stream');
|
|
197
|
+
return response.send(data);
|
|
202
198
|
}
|
|
203
199
|
};
|
|
204
200
|
exports.ImageHandler = ImageHandler;
|
|
@@ -215,7 +211,7 @@ let PdfHandler = class PdfHandler {
|
|
|
215
211
|
priority() {
|
|
216
212
|
return CODE_EDITOR_PRIORITY + 1;
|
|
217
213
|
}
|
|
218
|
-
respond(statWithContent, response) {
|
|
214
|
+
async respond(statWithContent, response) {
|
|
219
215
|
// https://stackoverflow.com/questions/11598274/display-pdf-in-browser-using-express-js
|
|
220
216
|
const encodeRFC5987ValueChars = (input) => encodeURIComponent(input).
|
|
221
217
|
// Note that although RFC3986 reserves "!", RFC5987 does not, so we do not need to escape it.
|
|
@@ -224,16 +220,11 @@ let PdfHandler = class PdfHandler {
|
|
|
224
220
|
// The following are not required for percent-encoding per RFC5987, so we can allow for a little better readability over the wire: |`^.
|
|
225
221
|
replace(/%(?:7C|60|5E)/g, unescape);
|
|
226
222
|
const fileName = file_uri_1.FileUri.create(statWithContent.stat.uri).path.base;
|
|
227
|
-
fs.readFile(file_uri_1.FileUri.fsPath(statWithContent.stat.uri)
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
response.setHeader('Content-disposition', `inline; filename*=UTF-8''${encodeRFC5987ValueChars(fileName)}`);
|
|
233
|
-
response.contentType('application/pdf');
|
|
234
|
-
response.send(data);
|
|
235
|
-
});
|
|
236
|
-
return response;
|
|
223
|
+
const data = await fs.readFile(file_uri_1.FileUri.fsPath(statWithContent.stat.uri));
|
|
224
|
+
// Change `inline` to `attachment` if you would like to force downloading the PDF instead of previewing in the browser.
|
|
225
|
+
response.setHeader('Content-disposition', `inline; filename*=UTF-8''${encodeRFC5987ValueChars(fileName)}`);
|
|
226
|
+
response.contentType('application/pdf');
|
|
227
|
+
return response.send(data);
|
|
237
228
|
}
|
|
238
229
|
};
|
|
239
230
|
exports.PdfHandler = PdfHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mini-browser-endpoint.js","sourceRoot":"","sources":["../../src/node/mini-browser-endpoint.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/B,sDAAuD;AACvD,kDAAkD;AAClD,2CAAoC;AACpC,4DAAyE;AAEzE,8DAA0D;AAC1D,0DAAwD;AAExD,wFAAoF;AAGpF,2EAA+F;AAmB/F;;GAEG;AACU,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAuBxE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAAzB;QAWgB,aAAQ,GAA4C,IAAI,GAAG,EAAE,CAAC;IAqHrF,CAAC;IAnHG,SAAS,CAAC,GAAgB;QACtB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YAClE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACvD,KAAK,MAAM,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBAC9G,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mini-browser-endpoint.js","sourceRoot":"","sources":["../../src/node/mini-browser-endpoint.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/mini-browser",
|
|
3
|
-
"version": "1.77.0-next.
|
|
3
|
+
"version": "1.77.0-next.43+5dbb84a9f",
|
|
4
4
|
"description": "Theia - Mini-Browser Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.77.0-next.
|
|
7
|
-
"@theia/filesystem": "1.77.0-next.
|
|
6
|
+
"@theia/core": "1.77.0-next.43+5dbb84a9f",
|
|
7
|
+
"@theia/filesystem": "1.77.0-next.43+5dbb84a9f",
|
|
8
8
|
"@types/mime-types": "^2.1.4",
|
|
9
9
|
"mime-types": "^2.1.35",
|
|
10
10
|
"pdfobject": "^2.3.1",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"nyc": {
|
|
55
55
|
"extends": "../../configs/nyc.json"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "5dbb84a9f43e9287fe3d6f0f52ee1dd2c3c4a20f"
|
|
58
58
|
}
|
|
@@ -93,7 +93,7 @@ export class MiniBrowserEndpoint implements BackendApplicationContribution, Mini
|
|
|
93
93
|
const extensions = await handler.supportedExtensions();
|
|
94
94
|
for (const extension of (Array.isArray(extensions) ? extensions : [extensions]).map(e => e.toLocaleLowerCase())) {
|
|
95
95
|
const existingHandler = this.handlers.get(extension);
|
|
96
|
-
if (!existingHandler || handler.priority > existingHandler.priority) {
|
|
96
|
+
if (!existingHandler || handler.priority() > existingHandler.priority()) {
|
|
97
97
|
this.handlers.set(extension, handler);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -116,8 +116,8 @@ export class MiniBrowserEndpoint implements BackendApplicationContribution, Mini
|
|
|
116
116
|
if (!exists) {
|
|
117
117
|
return this.missingResourceHandler()(uri, response);
|
|
118
118
|
}
|
|
119
|
-
const statWithContent = await this.readContent(uri);
|
|
120
119
|
try {
|
|
120
|
+
const statWithContent = await this.readContent(uri);
|
|
121
121
|
if (!statWithContent.stat.isDirectory()) {
|
|
122
122
|
const extension = uri.split('.').pop();
|
|
123
123
|
if (!extension) {
|
|
@@ -127,12 +127,12 @@ export class MiniBrowserEndpoint implements BackendApplicationContribution, Mini
|
|
|
127
127
|
if (!handler) {
|
|
128
128
|
return this.defaultHandler()(statWithContent, response);
|
|
129
129
|
}
|
|
130
|
-
return handler.respond(statWithContent, response);
|
|
130
|
+
return await handler.respond(statWithContent, response);
|
|
131
131
|
}
|
|
132
|
+
return this.defaultHandler()(statWithContent, response);
|
|
132
133
|
} catch (e) {
|
|
133
134
|
return this.errorHandler()(e, uri, response);
|
|
134
135
|
}
|
|
135
|
-
return this.defaultHandler()(statWithContent, response);
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
protected getContributions(): MiniBrowserEndpointHandler[] {
|
|
@@ -241,15 +241,11 @@ export class ImageHandler implements MiniBrowserEndpointHandler {
|
|
|
241
241
|
return CODE_EDITOR_PRIORITY + 1;
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
-
respond(statWithContent: FileStatWithContent, response: Response):
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
response.contentType('image/jpeg');
|
|
250
|
-
response.send(data);
|
|
251
|
-
});
|
|
252
|
-
return response;
|
|
244
|
+
async respond(statWithContent: FileStatWithContent, response: Response): Promise<Response> {
|
|
245
|
+
const fsPath = FileUri.fsPath(statWithContent.stat.uri);
|
|
246
|
+
const data = await fs.readFile(fsPath);
|
|
247
|
+
response.contentType(lookup(fsPath) || 'application/octet-stream');
|
|
248
|
+
return response.send(data);
|
|
253
249
|
}
|
|
254
250
|
|
|
255
251
|
}
|
|
@@ -268,7 +264,7 @@ export class PdfHandler implements MiniBrowserEndpointHandler {
|
|
|
268
264
|
return CODE_EDITOR_PRIORITY + 1;
|
|
269
265
|
}
|
|
270
266
|
|
|
271
|
-
respond(statWithContent: FileStatWithContent, response: Response):
|
|
267
|
+
async respond(statWithContent: FileStatWithContent, response: Response): Promise<Response> {
|
|
272
268
|
// https://stackoverflow.com/questions/11598274/display-pdf-in-browser-using-express-js
|
|
273
269
|
const encodeRFC5987ValueChars = (input: string) =>
|
|
274
270
|
encodeURIComponent(input).
|
|
@@ -279,16 +275,12 @@ export class PdfHandler implements MiniBrowserEndpointHandler {
|
|
|
279
275
|
replace(/%(?:7C|60|5E)/g, unescape);
|
|
280
276
|
|
|
281
277
|
const fileName = FileUri.create(statWithContent.stat.uri).path.base;
|
|
282
|
-
fs.readFile(FileUri.fsPath(statWithContent.stat.uri)
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
response.contentType('application/pdf');
|
|
289
|
-
response.send(data);
|
|
290
|
-
});
|
|
291
|
-
return response;
|
|
278
|
+
const data = await fs.readFile(FileUri.fsPath(statWithContent.stat.uri));
|
|
279
|
+
|
|
280
|
+
// Change `inline` to `attachment` if you would like to force downloading the PDF instead of previewing in the browser.
|
|
281
|
+
response.setHeader('Content-disposition', `inline; filename*=UTF-8''${encodeRFC5987ValueChars(fileName)}`);
|
|
282
|
+
response.contentType('application/pdf');
|
|
283
|
+
return response.send(data);
|
|
292
284
|
}
|
|
293
285
|
|
|
294
286
|
}
|