// ------------------------------------------------------------------------ // Copyright 2021 The Dapr Authors // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ------------------------------------------------------------------------ namespace SecretStoreConfigurationProviderSample { using System.Text.Json; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.DependencyInjection; /// /// Startup class. /// public class Startup { /// /// Initializes a new instance of the class. /// /// Configuration. public Startup(IConfiguration configuration) { this.Configuration = configuration; } /// /// Gets the configuration. /// public IConfiguration Configuration { get; } /// /// Configures Services. /// /// Service Collection. public void ConfigureServices(IServiceCollection services) { } /// /// Configures Application Builder and WebHost environment. /// /// Application builder. /// Webhost environment. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapGet("secret", Secret); }); async Task Secret(HttpContext context) { // Get secret from configuration!!! var secretValue = Configuration["super-secret"]; context.Response.ContentType = "application/json"; await JsonSerializer.SerializeAsync(context.Response.Body, secretValue); } } } }