@@ -1910,11 +1910,34 @@ var Gmail_ = function(localJQuery) {
1910
1910
return url ;
1911
1911
} ;
1912
1912
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
+ } ;
1913
1934
1914
1935
api . get . email_source = function ( email_id ) {
1915
1936
var url = api . helper . get . email_source_pre ( email_id ) ;
1916
1937
if ( url != null ) {
1917
- return api . tools . make_request ( url ) ;
1938
+ return api . tools . reformat_source (
1939
+ api . tools . make_request ( url )
1940
+ ) ;
1918
1941
}
1919
1942
return '' ;
1920
1943
} ;
@@ -1923,7 +1946,9 @@ var Gmail_ = function(localJQuery) {
1923
1946
api . get . email_source_async = function ( email_id , callback ) {
1924
1947
var url = api . helper . get . email_source_pre ( email_id ) ;
1925
1948
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
+ } ) ;
1927
1952
} else {
1928
1953
callback ( '' ) ;
1929
1954
}
0 commit comments