Skip to content

Commit fd5f591

Browse files
committed
Merge remote-tracking branch 'mime/sourceupdate'
Fix up error-handling and entry-point for patch.
2 parents 6c10458 + 8424f32 commit fd5f591

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

src/gmail.js

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1910,11 +1910,34 @@ var Gmail_ = function(localJQuery) {
19101910
return url;
19111911
};
19121912

1913+
api.tools.reformat_source = function(responseText, callback) {
1914+
var result = null;
1915+
try {
1916+
// if parsing suceeds, its a HTML-embedded MIME-message
1917+
var parser = new DOMParser();
1918+
var doc = parser.parseFromString(responseText, "text/html");
1919+
var elem = doc.getElementById("raw_message_text");
1920+
var source = elem.innerHTML;
1921+
result = source;
1922+
}
1923+
catch (err) {
1924+
// if parsing fails, its a raw mime message
1925+
}
1926+
result = result || responseText;
1927+
1928+
if (callback) {
1929+
callback(result);
1930+
} else {
1931+
return result;
1932+
}
1933+
};
19131934

19141935
api.get.email_source = function(email_id) {
19151936
var url = api.helper.get.email_source_pre(email_id);
19161937
if (url != null) {
1917-
return api.tools.make_request(url);
1938+
return api.tools.reformat_source(
1939+
api.tools.make_request(url)
1940+
);
19181941
}
19191942
return '';
19201943
};
@@ -1923,7 +1946,9 @@ var Gmail_ = function(localJQuery) {
19231946
api.get.email_source_async = function(email_id, callback) {
19241947
var url = api.helper.get.email_source_pre(email_id);
19251948
if (url != null) {
1926-
api.tools.make_request_async(url, 'GET', callback);
1949+
api.tools.make_request_async(url, 'GET', function(value) {
1950+
api.tools.reformat_source(value, callback);
1951+
});
19271952
} else {
19281953
callback('');
19291954
}

0 commit comments

Comments
 (0)