diff --git a/ReadSharp/Models/Article.cs b/ReadSharp/Models/Article.cs
index 6895993..498f46b 100644
--- a/ReadSharp/Models/Article.cs
+++ b/ReadSharp/Models/Article.cs
@@ -41,6 +41,14 @@ namespace ReadSharp
///
public bool ContentExtracted { get; set; }
+ ///
+ /// Gets or sets the raw HTML.
+ ///
+ ///
+ /// The raw HTML.
+ ///
+ public string Raw { get; set; }
+
///
/// Plain content without HTML tags.
///
diff --git a/ReadSharp/Reader.cs b/ReadSharp/Reader.cs
index 65dffab..099de85 100644
--- a/ReadSharp/Reader.cs
+++ b/ReadSharp/Reader.cs
@@ -44,6 +44,11 @@ namespace ReadSharp
///
protected List _currentPages = new List();
+ ///
+ /// The raw HTML from the last request
+ ///
+ private string _rawHTML = String.Empty;
+
///
/// Redirect faulty mobile URIs to desktop equivalents
///
@@ -186,6 +191,7 @@ namespace ReadSharp
Description = response.TranscodingResult.ExtractedDescription,
Content = response.TranscodingResult.ExtractedContent,
ContentExtracted = response.TranscodingResult.ContentExtracted ? wordCount > 0 : false,
+ Raw = _rawHTML,
PlainContent = plainContent,
WordCount = wordCount,
PageCount = response.PageCount,
@@ -216,10 +222,10 @@ namespace ReadSharp
// response stream to text
textStream.Position = 0;
StreamReader streamReader = new StreamReader(textStream, encoding ?? Encoding.UTF8);
- string text = streamReader.ReadToEnd();
+ _rawHTML = streamReader.ReadToEnd();
// set properties for processing
- TranscodingInput transcodingInput = new TranscodingInput(text)
+ TranscodingInput transcodingInput = new TranscodingInput(_rawHTML)
{
Url = uri.ToString(),
DomSerializationParams = new DomSerializationParams()