/// <summary> /// Process the web response and output corresponding objects. /// </summary> /// <param name="response"></param> internal override void ProcessResponse(WebResponse response) { if (null == response) { throw new ArgumentNullException("response"); } // check for Server Core, throws exception if -UseBasicParsing is not used if (ShouldWriteToPipeline && (!UseBasicParsing)) { VerifyInternetExplorerAvailable(true); } Stream responseStream = StreamHelper.GetResponseStream(response); if (ShouldWriteToPipeline) { // creating a MemoryStream wrapper to response stream here to support IsStopping. responseStream = new WebResponseContentMemoryStream(responseStream, StreamHelper.ChunkSize, this); WebResponseObject ro = WebResponseObjectFactory.GetResponseObject(response, responseStream, this.Context, UseBasicParsing); WriteObject(ro); // use the rawcontent stream from WebResponseObject for further // processing of the stream. This is need because WebResponse's // stream can be used only once. responseStream = ro.RawContentStream; responseStream.Seek(0, SeekOrigin.Begin); } if (ShouldSaveToOutFile) { StreamHelper.SaveStreamToFile(responseStream, QualifiedOutFile, this); } }
private void SetResponse(HttpResponseMessage response, Stream contentStream) { if (null == response) { throw new ArgumentNullException("response"); } BaseResponse = response; MemoryStream ms = contentStream as MemoryStream; if (null != ms) { _rawContentStream = ms; } else { Stream st = contentStream; if (contentStream == null) { st = StreamHelper.GetResponseStream(response); } long contentLength = response.Content.Headers.ContentLength.Value; if (0 >= contentLength) { contentLength = StreamHelper.DefaultReadBuffer; } int initialCapacity = (int)Math.Min(contentLength, StreamHelper.DefaultReadBuffer); _rawContentStream = new WebResponseContentMemoryStream(st, initialCapacity, null); } // set the position of the content stream to the beginning _rawContentStream.Position = 0; }
/// <summary> /// Process the web response and output corresponding objects. /// </summary> /// <param name="response"></param> internal override void ProcessResponse(HttpResponseMessage response) { if (null == response) { throw new ArgumentNullException("response"); } Stream responseStream = StreamHelper.GetResponseStream(response); if (ShouldWriteToPipeline) { // creating a MemoryStream wrapper to response stream here to support IsStopping. responseStream = new WebResponseContentMemoryStream(responseStream, StreamHelper.ChunkSize, this); WebResponseObject ro = WebResponseObjectFactory.GetResponseObject(response, responseStream, this.Context); ro.RelationLink = _relationLink; WriteObject(ro); // use the rawcontent stream from WebResponseObject for further // processing of the stream. This is need because WebResponse's // stream can be used only once. responseStream = ro.RawContentStream; responseStream.Seek(0, SeekOrigin.Begin); } if (ShouldSaveToOutFile) { StreamHelper.SaveStreamToFile(responseStream, QualifiedOutFile, this); } }
/// <summary> /// Process the web response and output corresponding objects. /// </summary> /// <param name="response"></param> internal override void ProcessResponse(HttpResponseMessage response) { if (null == response) { throw new ArgumentNullException("response"); } // check for Server Core, throws exception if -UseBasicParsing is not used if (ShouldWriteToPipeline && !UseBasicParsing) { // IE is not available in PS Linux, and may not available in PS Core depending on // where it's running (desktop/nano/iot). // For PS Linux and PS Core, if IE is not available, we always use basic parsing. if (!VerifyInternetExplorerAvailable(true)) { UseBasicParsing = true; } } Stream responseStream = StreamHelper.GetResponseStream(response); if (ShouldWriteToPipeline) { // creating a MemoryStream wrapper to response stream here to support IsStopping. responseStream = new WebResponseContentMemoryStream(responseStream, StreamHelper.ChunkSize, this); WebResponseObject ro = WebResponseObjectFactory.GetResponseObject(response, responseStream, this.Context, UseBasicParsing); ro.RelationLink = _relationLink; WriteObject(ro); // use the rawcontent stream from WebResponseObject for further // processing of the stream. This is need because WebResponse's // stream can be used only once. responseStream = ro.RawContentStream; responseStream.Seek(0, SeekOrigin.Begin); } if (ShouldSaveToOutFile) { StreamHelper.SaveStreamToFile(responseStream, QualifiedOutFile, this); } }
/// <summary> /// Process the web response and output corresponding objects. /// </summary> /// <param name="response"></param> internal override void ProcessResponse(HttpResponseMessage response) { if (null == response) { throw new ArgumentNullException("response"); } // check for Server Core, throws exception if -UseBasicParsing is not used if (ShouldWriteToPipeline && !UseBasicParsing) { // IE is not available in PS Linux, and may not available in PS Core depending on // where it's running (desktop/nano/iot). // For PS Linux and PS Core, if IE is not available, we always use basic parsing. if (!VerifyInternetExplorerAvailable(true)) { UseBasicParsing = true; } } Stream responseStream = StreamHelper.GetResponseStream(response); if (ShouldWriteToPipeline) { // creating a MemoryStream wrapper to response stream here to support IsStopping. responseStream = new WebResponseContentMemoryStream(responseStream, StreamHelper.ChunkSize, this); WebResponseObject ro = WebResponseObjectFactory.GetResponseObject(response, responseStream, this.Context, UseBasicParsing); WriteObject(ro); // use the rawcontent stream from WebResponseObject for further // processing of the stream. This is need because WebResponse's // stream can be used only once. responseStream = ro.RawContentStream; responseStream.Seek(0, SeekOrigin.Begin); } if (ShouldSaveToOutFile) { StreamHelper.SaveStreamToFile(responseStream, QualifiedOutFile, this); } }
private void SetResponse(WebResponse response, Stream contentStream) { if (null == response) { throw new ArgumentNullException("response"); } BaseResponse = response; MemoryStream ms = contentStream as MemoryStream; if (null != ms) { _rawContentStream = ms; } else { Stream st = contentStream; if (contentStream == null) { st = StreamHelper.GetResponseStream(response); } long contentLength = response.ContentLength; if (0 >= contentLength) { contentLength = StreamHelper.DefaultReadBuffer; } int initialCapacity = (int)Math.Min(contentLength, StreamHelper.DefaultReadBuffer); _rawContentStream = new WebResponseContentMemoryStream(st, initialCapacity, null); } // set the position of the content stream to the beginning _rawContentStream.Position = 0; }