public async Task <QueryResponse <string> > Query(BlogQueryRequest query, CancellationToken cancellationToken = default) { switch (query.Type) { case BlogQueryRequestStrings.Sitemap: { var baseAddress = query.GetBaseAddress() ?? string.Empty; var siteMapBuilder = await this.BuildSitemap(baseAddress); StringBuilder sb = new StringBuilder(); await using (var writer = XmlWriter.Create(sb, new XmlWriterSettings { Async = true })) siteMapBuilder.Build().WriteTo(writer); return(QueryResponse.Success(sb.ToString())); } case BlogQueryRequestStrings.AtomFeed: { var baseAddress = query.GetBaseAddress() ?? string.Empty; var feed = await this.BuildSyndication(baseAddress); StringBuilder sb = new StringBuilder(); using (var writer = XmlWriter.Create(sb, new XmlWriterSettings { Async = true })) feed.GetAtom10Formatter().WriteTo(writer); return(QueryResponse.Success(sb.ToString())); } default: return(QueryResponse.Error <string>()); } }
public Task <QueryResponse <string> > Query(BlogQueryRequest query, CancellationToken cancellationToken = default) { return(Task.FromResult(QueryResponse.Error <string>())); // TODO: use generated sitemap }
public async Task <QueryResponse <string> > Query([FromBody] BlogQueryRequest query) { return(await BlogService.Query(query)); }
public Task <QueryResponse <string> > Query(BlogQueryRequest query, CancellationToken cancellationToken = default) => throw new NotImplementedException();
public Task <QueryResponse <string> > Query(BlogQueryRequest query, CancellationToken cancellationToken = default) => Main.Query(query, cancellationToken);