// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using SocialWeather.Json; using SocialWeather.Pipe; using SocialWeather.Protobuf; namespace SocialWeather { public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddRouting(); services.AddSockets(); services.AddEndPoint(); services.AddTransient(); services.AddSingleton(typeof(JsonStreamFormatter<>), typeof(JsonStreamFormatter<>)); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseSockets(o => { o.MapEndPoint("/weather"); }); app.UseFileServer(); var formatterResolver = app.ApplicationServices.GetRequiredService(); formatterResolver.AddFormatter>("json"); formatterResolver.AddFormatter("protobuf"); formatterResolver.AddFormatter("pipe"); } } }