private function parse_request_path(string $path) {

		# route path and request path is the same
		if ($path == $this->request_path)
			return [];

		# generate parser
		$parser = $this->path_parser($path);
		if (!$parser[1])
			return false;

		# parse request
		$pattern = '!^' . $parser[0] . '$!';
		$matched = preg_match_all(
			$pattern, $this->request_path,
			$result, PREG_SET_ORDER);
		if (!$matched)
			return false;

		unset($result[0][0]);
		return array_combine($parser[1], $result[0]);
	}