public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IStudentServiceDb service) { app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "APBD 6"); }); app.UseMiddleware <Logger>(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseWhen(context => context.Request.Path.ToString().Contains("secured"), app => { app.Use(async(context, next) => { if (!context.Request.Headers.ContainsKey("Index")) { context.Response.StatusCode = StatusCodes.Status401Unauthorized; await context.Response.WriteAsync("Index number missing"); return; } var index = context.Request.Headers["Index"].ToString(); var stud = service.GetStudent(index); if (stud == null) { context.Response.StatusCode = StatusCodes.Status401Unauthorized; await context.Response.WriteAsync($"User ({index}) not found"); return; } await next(); }); }); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }