@@ -15,44 +15,6 @@ function isRedirect(status: number) {
15
15
return status >= 300 && status < 400 ;
16
16
}
17
17
18
- /**
19
- * Use the filterResponseData API to transform a JSON document to HTML. This
20
- * converts to the same HTML that Chrome does by default - it's only used in
21
- * Firefox.
22
- */
23
- function transformResponseToJSON ( details : chrome . webRequest . WebResponseHeadersDetails ) {
24
- const filter = browser . webRequest . filterResponseData ( details . requestId ) ;
25
-
26
- const dec = new TextDecoder ( "utf-8" ) ;
27
- const enc = new TextEncoder ( ) ;
28
- let content = "" ;
29
-
30
- filter . ondata = ( event ) => {
31
- content += dec . decode ( event . data , { stream : true } ) ;
32
- } ;
33
-
34
- filter . onstop = ( _event : Event ) => {
35
- content += dec . decode ( ) ;
36
- const outputDoc = `<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><pre>${ escape (
37
- content
38
- ) } </pre></body></html>`;
39
-
40
- filter . write ( enc . encode ( outputDoc ) ) ;
41
- filter . disconnect ( ) ;
42
- } ;
43
- }
44
-
45
- function escape ( s : string ) {
46
- const lookup = {
47
- "&" : "&" ,
48
- '"' : """ ,
49
- "'" : "'" ,
50
- "<" : "<" ,
51
- ">" : ">" ,
52
- } as { [ key : string ] : string } ;
53
- return s . replace ( / [ & " ' < > ] / g, ( c ) => lookup [ c ] ) ;
54
- }
55
-
56
18
function detectJSON ( event : chrome . webRequest . WebResponseHeadersDetails ) {
57
19
if ( ! event . responseHeaders || isRedirect ( event . statusCode ) ) {
58
20
return ;
@@ -65,8 +27,7 @@ function detectJSON(event: chrome.webRequest.WebResponseHeadersDetails) {
65
27
) {
66
28
jsonUrls . add ( event . url ) ;
67
29
if ( typeof browser !== "undefined" && "filterResponseData" in browser . webRequest ) {
68
- header . value = "text/html" ;
69
- transformResponseToJSON ( event ) ;
30
+ header . value = "text/plain" ;
70
31
}
71
32
}
72
33
}
0 commit comments