Table of Contents

BencodeConfigurationExtensions Class

Definition

Namespace
Bodu.Extensions.Configuration.Text
Assembly
Bodu.Extensions.Configuration.Text.dll
Package
Bodu.Extensions.Configuration.Text 1.0.0
Source
BencodeConfigurationExtensions.cs

Provides extension methods for adding a read-only Bencode configuration source to an IConfigurationBuilder, mirroring the AddJsonFile / AddJsonStream shape.

public static class BencodeConfigurationExtensions
Inheritance
BencodeConfigurationExtensions
Inherited Members

Examples

builder.Configuration.AddBencodeFile("appsettings.bencode", optional: true);

using var stream = new MemoryStream(Encoding.UTF8.GetBytes("d7:loggingd5:level5:Debugee"));
builder.Configuration.AddBencodeStream(stream);

Remarks

The resulting provider is read-once and read-only - it attaches no reload-on-change machinery and rejects mutation through IConfigurationProvider, because BencodeConfigurationProvider exposes no mutation surface. The document root must be a Bencode dictionary.

Methods

AddBencodeFile(IConfigurationBuilder, string, bool)

Adds a read-only Bencode configuration source backed by the file at path.

public static IConfigurationBuilder AddBencodeFile(this IConfigurationBuilder builder, string path, bool optional = false)

Parameters

builder IConfigurationBuilder

The configuration builder.

path string

The Bencode file path.

optional bool

When true, the file is permitted to be missing.

Returns

IConfigurationBuilder

The supplied builder, for chaining.

Exceptions

ArgumentNullException

Thrown when builder is null.

ArgumentException

Thrown when path is null, empty, or whitespace.

AddBencodeStream(IConfigurationBuilder, Stream)

Adds a read-only Bencode configuration source backed by the supplied Stream. The stream is read once when the configuration is built.

public static IConfigurationBuilder AddBencodeStream(this IConfigurationBuilder builder, Stream stream)

Parameters

builder IConfigurationBuilder

The configuration builder.

stream Stream

The stream containing a Bencode document.

Returns

IConfigurationBuilder

The supplied builder, for chaining.

Exceptions

ArgumentNullException

Thrown when builder or stream is null.

Applies to

ProductVersions
.NET8, 10