public Package CreateFromExternalUrl(string key, string fileExtension, string externalPackageUrl) { ValidateInputs(() => _serviceInputValidator.ValidateUserApiKey(key)); ValidateInputs(() => _serviceInputValidator.ValidateExternalUrl(externalPackageUrl)); Func<Package> action = () => { using (var client = new ExtendedWebClient(_configSettings.ExternalPackageRequestTimeout)) { SetUserAgentForCodeplexCompliance(client); byte[] bytes = client.DownloadData(externalPackageUrl); return _packageCreator.CreatePackage(key, new MemoryStream(bytes), PACKAGE_FILE_EXTENSION, false, externalPackageUrl); } }; return ExecuteAction(action, "The Package could not be created from the external source"); }