Nexpress/Application.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Nexpress
{
public class Application
{
private IList<Func<RequestDelegate, RequestDelegate>> middlewareList = new List<Func<RequestDelegate, RequestDelegate>>();
private readonly List<RouteData> _routersList = new List<RouteData>();
private RequestDelegate Last = (req, res) =>
{
return Task.CompletedTask;
};
public void Use(Func<Request, Response, RequestDelegate, Task> func)
{
Func<RequestDelegate, RequestDelegate> middleware = (next) =>
{
return new RequestDelegate((req, res) =>
{
return func(req, res, next);
});
};
middlewareList.Add(middleware);
}
public void Run(Func<Request, Response, Task> last)
{
Func<RequestDelegate, RequestDelegate> middleware = (next) =>
{
return new RequestDelegate(last);
};
middlewareList.Add(middleware);
}
public void Get(string route, Func<Request, Response, Task> handlers)
{
Bind("Get", route, new RequestDelegate(handlers));
}
public void Post(string route, Func<Request, Response, Task> handlers)
{
Bind("Post", route, new RequestDelegate(handlers));
}
public void Put(string route, Func<Request, Response, Task> handlers)
{
Bind("Put", route, new RequestDelegate(handlers));
}
public void Delete(string route, Func<Request, Response, Task> handlers)
{
Bind("Delete", route, new RequestDelegate(handlers));
后面还有 93 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。