using System; using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; using xAiApi.Interfaces.Extractors; namespace xAiApi.Providers { /// /// Extracts content from plain text files (txt, md, csv, json, xml) ... /// public class XPlainTextFileContentExtractor : IXPlainTextFileContentExtractor { /// /// Supported MIME Types ... /// private static readonly string[] SupportedMimeTypes = [ "text/plain", "text/markdown", "text/csv", "text/html", "text/xml", "application/json", "application/xml" ]; /// /// Check if this extractor supports the specified MIME type ... /// public bool CanExtract(string mimeType) { // return SupportedMimeTypes.Contains( mimeType?.ToLowerInvariant() ?? string.Empty ); } /// /// Extract text content from file stream ... /// public async Task ExtractAsync( Stream fileStream, string mimeType, CancellationToken cancellationToken = default ) { // using var reader = new StreamReader(fileStream); return await reader.ReadToEndAsync(); } } }