RouterTarget: Extend target signature by first parameter "path"

master
Harald Wolff 2020-02-04 21:39:46 +01:00
parent 7df757d8c9
commit 2542f9a5e1
1 changed files with 8 additions and 4 deletions

View File

@ -4,15 +4,19 @@ namespace ln.http.router
{
public class RouterTarget :IHttpRouter
{
public Func<HttpRequest, HttpResponse> Target { get; }
public Func<string,HttpRequest, HttpResponse> Target { get; }
public RouterTarget(Func<HttpRequest, HttpResponse> target)
public RouterTarget(Func<string, HttpRequest, HttpResponse> target)
{
Target = target;
}
public RouterTarget(Func<HttpRequest, HttpResponse> target)
{
Target = (path,request) => target(request);
}
protected RouterTarget()
{
Target = Dispatch;
Target = (path,request) => Dispatch(request);
}
public virtual HttpResponse Dispatch(HttpRequest request)
@ -38,7 +42,7 @@ namespace ln.http.router
public HttpResponse Route(string path, HttpRequest httpRequest)
{
return Target(httpRequest);
return Target(path, httpRequest);
}
public virtual HttpResponse HEAD(HttpRequest request) => throw new MethodNotAllowedException();