private static string ReadAsString()

in src/PSDocs/Pipeline/PipelineReceiver.cs [154:180]


        private static string ReadAsString(PSObject sourceObject, out InputFileInfo sourceInfo)
        {
            sourceInfo = null;
            if (sourceObject.BaseObject is string)
            {
                return sourceObject.BaseObject.ToString();
            }
            else if (sourceObject.BaseObject is InputFileInfo inputFileInfo)
            {
                sourceInfo = inputFileInfo;
                using (var reader = new StreamReader(inputFileInfo.FullName))
                    return reader.ReadToEnd();
            }
            else if (sourceObject.BaseObject is FileInfo fileInfo)
            {
                sourceInfo = new InputFileInfo(PSDocumentOption.GetRootedBasePath(""), fileInfo.FullName);
                using (var reader = new StreamReader(fileInfo.FullName))
                    return reader.ReadToEnd();
            }
            else
            {
                var uri = sourceObject.BaseObject as Uri;
                sourceInfo = new InputFileInfo(null, uri.ToString());
                using (var webClient = new WebClient())
                    return webClient.DownloadString(uri);
            }
        }