Files
fil/docs/snippets/csharp/plugins/extractor_registration.md
Henrik Jess Nielsen b4c07d3693
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s
Nomad changes
2026-06-01 23:40:55 +02:00

1.2 KiB

using Kreuzberg;

var extractor = new JsonDocumentExtractor();
KreuzbergLib.RegisterDocumentExtractor(extractor);

public class JsonDocumentExtractor : IDocumentExtractor
{
    public string Name => "json-extractor";
    public string Version => "1.0.0";

    public void Initialize()
    {
        Console.WriteLine("JSON extractor initialized");
    }

    public void Shutdown()
    {
        Console.WriteLine("JSON extractor shut down");
    }

    public ExtractionResult ExtractBytes(byte[] content, string mimeType, ExtractionConfig config)
    {
        var json = System.Text.Encoding.UTF8.GetString(content);

        var result = new ExtractionResult
        {
            Content = json,
            MimeType = mimeType,
            DetectedLanguages = null
        };
        return result;
    }

    public ExtractionResult ExtractFile(string path, string mimeType, ExtractionConfig config)
    {
        var content = System.IO.File.ReadAllBytes(path);
        return ExtractBytes(content, mimeType, config);
    }

    public string[] SupportedMimeTypes()
    {
        return new[] { "application/json", "text/json" };
    }

    public int Priority()
    {
        return 50;
    }
}