// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IDbsService dbsService, IStudentsDbService iStudent) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } //app.UseMiddleware<T>; //ZAD 1 // next to kolejny middleware //app.UseMiddleware<LoggingMiddleware>(); //app.Use(async (context, next) => { // if (!context.Request.Headers.ContainsKey("Index")) { // context.Response.StatusCode = StatusCodes.Status401Unauthorized; // await context.Response.WriteAsync("Nie podano indeksu w naglowku"); // return; // } // var index = context.Request.Headers["Index"].ToString(); // if (!iStudent.ifExists(index)) // { // context.Response.StatusCode = StatusCodes.Status401Unauthorized; // await context.Response.WriteAsync("Student nie istnieje"); // return; // } // await next(); //}); app.UseRouting(); app.UseAuthentication(); 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, IDbsService dbsService) { 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("Nie poda³eœ indeksu"); return; } string index = context.Request.Headers["Index"].ToString(); //check in db if (!dbsService.CheckIndex(index)) { context.Response.StatusCode = StatusCodes.Status401Unauthorized; await context.Response.WriteAsync("Podany student nie istenieje"); return; } await next(); }); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
public StudentsController(IDbsService dbService) { _dbService = dbService; }