public virtual string Read(FileReadRequest request)
        {
            var file             = new FileInfo(request.FilePath);
            var absoluteFilePath = GetAbsolutePath(file);

            if (!_securityContext.ValidateRequest(request))
            {
                return("ERROR - You don't have permission to access this file");
            }

            var content = _reader.Read(absoluteFilePath);

            if (request.ShouldDecrypt)
            {
                var decrypter = _decrypter;
                content = decrypter.Decrypt(content);
            }

            return(content);
        }