public function getRequest($param, $method = null)
    {
        if ($method === null) {
            $method = $this->_sendMethod;
        }

        $method = Str::lowerCase($method);
        // get root request as array or string
        switch ($method) {
            case 'get':
                $request = App::$Request->query->get($this->getFormName(), null);
                break;
            case 'post':
                $request = App::$Request->request->get($this->getFormName(), null);
                break;
            case 'file':
                $request = App::$Request->files->get($this->getFormName(), null);
                break;
            default:
                $request = App::$Request->get($this->getFormName(), null);
                break;
        }

        $response = null;
        // param is a dot-separated array type
        if (Str::contains('.', $param)) {
            $response = $request;
            foreach (explode('.', $param) as $path) {
                if ($response !== null && !array_key_exists($path, $response)) {
                    return null;
                }
                // find deep array nesting offset
                $response = $response[$path];
            }
        } else {
            $response = $request[$param];
        }

        return $response;
    }