// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IStudentsDbService dbService) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMiddleware <LoggingMiddleware>(); app.Use(async(context, next) => { if (!context.Request.Headers.ContainsKey("IndexNumber")) { context.Response.StatusCode = StatusCodes.Status401Unauthorized; await context.Response.WriteAsync("Nie poda³eœ indeksu"); return; } string index = context.Request.Headers["IndexNumber"].ToString(); if (!dbService.CheckIfExists(index)) { context.Response.StatusCode = Microsoft.AspNetCore.Http.StatusCodes.Status401Unauthorized; await context.Response.WriteAsync("bledny index"); return; } Student student = dbService.GetStudent(index); if (student == null) { await context.Response.WriteAsync("Nie ma takiego studenta."); context.Response.StatusCode = StatusCodes.Status401Unauthorized; return; } await context.Response.WriteAsync(student.ToString()); await next(); }); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IStudentsDbService service) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMiddleware <LoggingMiddleware>(); app.Use(async(context, next) => { if (!context.Request.Headers.ContainsKey("Index")) { context.Response.StatusCode = StatusCodes.Status401Unauthorized; await context.Response.WriteAsync("You don't give index"); return; } var bodyStream = string.Empty; using (var reader = new StreamReader(context.Request.Body, Encoding.UTF8, true, 1024, true)) { bodyStream = await reader.ReadToEndAsync(); } string index = context.Request.Headers["Index"].ToString(); if (!service.CheckIfExists(index))//connection with database { context.Response.StatusCode = StatusCodes.Status401Unauthorized; await context.Response.WriteAsync("doesn't exist"); return; } await next(); }); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }