public async Task Invoke(HttpContext httpContext, ISignalRTypesBuilder signalRTypesBuilder) { var httpMethod = httpContext.Request.Method; var path = httpContext.Request.Path.Value; if (httpMethod == "GET" && Regex.IsMatch(path, $"^/?{Regex.Escape(options.RoutePath)}/?$", RegexOptions.IgnoreCase)) { var settings = new SignalrTypeGeneratorSettings(_jsonSerializerSettings); var generator = new SignalrTypeGenerator(settings); var document = await generator.GenerateForHubsAsync(signalRTypesBuilder); var json = document.ToJson(); httpContext.Response.StatusCode = StatusCodes.Status200OK; httpContext.Response.Headers.Add("Content-Type", "application/json; charset=utf-8"); await httpContext.Response.WriteAsync(json, Encoding.UTF8); return; } await _next(httpContext); //await context.Response.WriteAsync(_version); //we're all done, so don't invoke next middleware }
public SignalrTypeGenerator(SignalrTypeGeneratorSettings settings) { _settings = settings; }
public SignalrTypeSchemaResolver(SignalrTypeDocument document, SignalrTypeGeneratorSettings settings) : base(document, settings) { _document = document; _settings = settings; }