public class HttpDispatcher extends Object
Constructor and Description |
---|
HttpDispatcher(WebServerConfig webConfig,
SessionManager sessionManager)
构造函数
|
Modifier and Type | Method and Description |
---|---|
void |
addRouteMethod(String method)
增加新的路由方法,例如:HTTP 方法 GET、POST 等等
|
void |
addRouter(String method,
String routePath,
HttpRouter router)
增加一个路由规则
|
Object |
disposeFilter(Chain<HttpFilterConfig> filterConfigs,
HttpRequest request,
HttpResponse response)
//正向处理过滤器
|
Object |
disposeInvertedFilter(Chain<HttpFilterConfig> filterConfigs,
HttpRequest request,
HttpResponse response)
反向处理过滤器
|
void |
disposeRoute(HttpRequest request,
HttpResponse response)
Http 路由处理函数
|
void |
exceptionMessage(HttpRequest request,
HttpResponse response,
Exception e)
异常消息处理
|
static Map<String,String> |
fetchPathVariables(String requestPath,
String routePath,
boolean matchRouteIgnoreCase)
获取路径变量,形如/:test/:name 的路径匹配的请求路径/test/var1后得到{name:var1}
|
org.voovan.http.server.RouterWrap<HttpRouter> |
findRouter(HttpRequest request)
获取路由处理对象和注册路由
|
static String |
fixRoutePath(String routePath)
修复路由为规范的可注册的路由
|
Map<String,Map<String,org.voovan.http.server.RouterWrap<HttpRouter>>> |
getRoutes()
获取 Http 的路由配置
|
boolean |
isFrameWorkRequest(HttpRequest request)
是否是系统请求
|
boolean |
isStaticFile(HttpRequest request)
判断当前的请求是否是静态文件
|
static boolean |
matchPath(String requestPath,
String routePath,
String routeRegexPath,
boolean matchRouteIgnoreCase)
路径匹配
|
void |
process(HttpRequest request,
HttpResponse response)
Http 请求响应处理函数,入口函数
|
static String |
routePath2RegexPath(String routePath)
将路径转换成正则表达式形式的路径
|
boolean |
tryIndex(HttpRequest request,
HttpResponse response)
尝试用定义首页索引文件的名称
|
public HttpDispatcher(WebServerConfig webConfig, SessionManager sessionManager)
webConfig
- Web 服务配置对象sessionManager
- Session 管理器public Map<String,Map<String,org.voovan.http.server.RouterWrap<HttpRouter>>> getRoutes()
public void addRouteMethod(String method)
method
- HTTP 请求方法public static String fixRoutePath(String routePath)
routePath
- 路由public void addRouter(String method, String routePath, HttpRouter router)
method
- Http 请求方法routePath
- 路径匹配正则router
- 请求处理句柄public boolean isFrameWorkRequest(HttpRequest request)
request
- HTTP 请求public void process(HttpRequest request, HttpResponse response)
request
- HTTP 请求response
- HTTP 响应public boolean isStaticFile(HttpRequest request)
request
- request 请求对象public org.voovan.http.server.RouterWrap<HttpRouter> findRouter(HttpRequest request)
request
- 请求对象public void disposeRoute(HttpRequest request, HttpResponse response)
request
- Http请求对象response
- Http响应对象public boolean tryIndex(HttpRequest request, HttpResponse response)
request
- Http 请求对象response
- Http 响应对象public static String routePath2RegexPath(String routePath)
routePath
- 匹配路径参数public static boolean matchPath(String requestPath, String routePath, String routeRegexPath, boolean matchRouteIgnoreCase)
requestPath
- 请求路径routePath
- 路由定义路径routeRegexPath
- 正则匹配路径matchRouteIgnoreCase
- 路劲匹配是否忽略大消息public static Map<String,String> fetchPathVariables(String requestPath, String routePath, boolean matchRouteIgnoreCase)
requestPath
- 请求路径routePath
- 正则匹配路径matchRouteIgnoreCase
- 是否匹配路由大小写public Object disposeFilter(Chain<HttpFilterConfig> filterConfigs, HttpRequest request, HttpResponse response)
filterConfigs
- HTTP过滤器配置对象request
- 请求对象response
- 响应对象public Object disposeInvertedFilter(Chain<HttpFilterConfig> filterConfigs, HttpRequest request, HttpResponse response)
filterConfigs
- HTTP过滤器配置对象request
- 请求对象response
- 响应对象public void exceptionMessage(HttpRequest request, HttpResponse response, Exception e)
request
- 请求对象response
- 响应对象e
- 异常对象Copyright © 2020 Voovan. All rights reserved.