Exemplo n.º 1
0
        public void Create_a_simple_atom_feed_with_logo()
        {
            var feed = CreateSimpleFeed();

            feed.Image = new Image(new Uri("http://www.dotnetgeek.de/logo.png"), "dotnetgeek feed", new Uri("http://www.dotnetgeek.de"));

            var atomGenerator = new AtomGenerator(feed);
            var feedXml       = atomGenerator.Process();

            const string expected = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                                    "<feed xmlns=\"http://www.w3.org/2005/Atom\">" +
                                    "<title type=\"text\">dotnetgeek feed</title>" +
                                    "<author><name>Daniel</name><email>[email protected]</email></author>" +
                                    "<id>http://www.dotnetgeek.de/rss</id>" +
                                    "<link rel=\"self\" type=\"application/rss+xml\" href=\"http://www.dotnetgeek.de/rss\" />" +
                                    "<updated>2016-08-16T00:00:00Z</updated>" +
                                    "<rights>2016 @ www.dotnetgeek.com</rights>" +
                                    "<generator>dng.Syndication</generator>" +
                                    "<subtitle type=\"text\">Dotnet relevant thinks</subtitle>" +
                                    "<logo>http://www.dotnetgeek.de/logo.png</logo>" +
                                    "<entry>" +
                                    "<title>First Entry</title>" +
                                    "<link href=\"http://www.dotnetgeek.com/first-entry\" />" +
                                    "<id>http://www.dotnetgeek.com/first-entry</id>" +
                                    "<summary>summary</summary>" +
                                    "<content>Content</content>" +
                                    "<author><name>Daniel</name><email>[email protected]</email></author>" +
                                    "<published>2016-08-16T00:00:00Z</published>" +
                                    "<updated>2016-08-16T00:00:00Z</updated>" +
                                    "</entry>" +
                                    "</feed>";

            Assert.Equal(expected, feedXml);
        }
Exemplo n.º 2
0
 public async Task WriteAsync(OutputFormatterWriteContext context)
 {
     using (var atomGenerator = new AtomGenerator(context.Object as Feed))
     {
         context.HttpContext.Response.ContentType = MediaTypes.AtomMediaType;
         await context.HttpContext.Response.WriteAsync(atomGenerator.Process());
     }
 }
        public override void WriteToStream(Type type, object value, Stream writeStream, HttpContent content)
        {
            if (!(value is Feed feed))
            {
                return;
            }

            using (var streamWriter = new StreamWriter(writeStream))
            {
                using (var atomGenerator = new AtomGenerator(feed))
                {
                    streamWriter.WriteLine(atomGenerator.Process());
                }
            }
        }