public async Task <HttpResponseMessage> ListFileNames() { if (!await _requestExtractor.Extract(Request)) { return(Helper.CreateResponseMessage(_requestExtractor.Response.StatusCode, _requestExtractor.Response.Message)); } var nonFileData = _requestExtractor.NonFileData.GetValues(0); //Get NAS Path var nasPath = string.Empty; if (nonFileData != null) { nasPath = nonFileData[0]; } var nasIdentity = _credential.GetCurrentCredential(Request); try { var impersonationTask = new ListFileNamesImpersonationTask(nasPath); var listFiles = _impersonator.ExecuteTask(impersonationTask, nasIdentity.UserId, nasIdentity.UserPassword, Domain); return(Helper.CreateResponseMessage(HttpStatusCode.OK, listFiles)); } catch (Exception ex) { return(Helper.CreateResponseMessage(HttpStatusCode.Forbidden, $"Error:{ex.Message}")); } }