This commit is contained in:
2020-09-07 11:16:41 +08:00
parent 5bf0071663
commit 5eece32104
+25
View File
@@ -440,6 +440,9 @@ class Router extends Application implements RouterInterface
$methods = $this->nodes[$method];
$uri = ltrim($request->headers->getHeader('request_uri'), '/');
if (!isset($methods[$uri])) {
if ($request->isOption) {
return $this->search_options($request);
}
return null;
}
return $this->nodes[$method][$uri];
@@ -447,6 +450,28 @@ class Router extends Application implements RouterInterface
}
/**
* @param $request
* @return Node|null
*/
private function search_options($request)
{
$method = $request->getMethod();
if (!isset($this->nodes[$method])) {
return null;
}
if (!isset($this->nodes[$method]['*'])) {
return null;
}
return $this->nodes[$method]['*'];
$node = $this->tree_search(['*'], $request->getMethod());
if (!($node instanceof Node)) {
return null;
}
return $node;
}
/**
* @param $request
* @return Node|null