Displays diagnostic information on all the properties registered with configuration
C#
Switch branches/tags
Nothing to show
Latest commit 007895c Aug 11, 2017 @ctolkien committed on GitHub Merge pull request #7 from andrewcoll/master
making connectionstring check case insensitive
Permalink
Failed to load latest commit information.
samples rev packages May 22, 2017
src Update ConfigExplorerMiddleware.cs Aug 11, 2017
tests rev packages May 22, 2017
.gitignore Initial commit Mar 22, 2017
.travis.yml fix ci Mar 27, 2017
LICENSE Initial commit Mar 22, 2017
README.md Fixing typos Aug 11, 2017
SodaPop.ConfigExplorer.sln huge refactor and name change Mar 27, 2017
appveyor.yml fix ci Mar 27, 2017
icon.png huge refactor and name change Mar 27, 2017

README.md

Config Explorer for ASPNET Core

Platform Status
Windows Build status
Linux Build Status

Version license

Install

Nuget

Install-Package SodaPop.ConfigExplorer

dotnet CLI

dotnet add package SodaPop.ConfigExplorer

Configuration

if (env.IsDevelopment)
{
    //config is the `IConfigurationRoot` from your `ConfigurationBuilder`
    app.UseConfigExplorer(config);
}

Once configured, access a diagnostic listing of all the available keys and values in the configuration system via:

http://localhost:port/config

A Strong Warning On Security

Configuration can often contain application secrets such as connection strings. As a precautionary measure the end point will only load if the host is localhost and we will also filter out any configuration key which has a name containing ConnectionString. Even with these set, we strongly advise this middleware is only added in development environments.

Example

Example

Whats It Do?

The configuration system in AspNet Core is extremely flexible, but it sometimes can be hard to know what value you're going to receive. An example configuration might look like:

var config = new ConfigurationBuilder()
    .AddJsonFile("appsettings.json")
    .AddJsonFile($"appsettings.{env.EnvironmentName}.json")
    .AddJsonFile("someotherappsetting.json", optional: true) 
    .AddInMemoryCollection()
    .AddEnvironmentVariables()
    .Add(MyCustomSource)
    .Build();

Depending on where you're running, what environment variables are set on the current machine, which configuration options you're using, what order the configuration items are added, which files are present or not present can result in you getting different configuration.

Compounding this, there are a number of "magic" prefixes used to hook in for Azure integration.

This tool will simply list out all the keys and values currently available in the entire configuration system.

Available Options

app.UseConfigExplorer(config, new ConfigExplorerOptions //optional
{
    LocalHostOnly = true, //default
    PathMatch = "/config", //default
    TryRedactConnectionStrings = true //default
});