private static void AnalyzeResponse( HttpWebResponse _Response, out bool _bHttpRequestSuccess, out int _HttpRequestResponseCode, out string _HttpRequestResponseContentType, out BStringOrStream _HttpRequestResponseContent, out Dictionary <string, IEnumerable <string> > _HttpRequestResponseHeaders, Action <string> _ErrorMessageAction) { _bHttpRequestSuccess = false; _HttpRequestResponseCode = BWebResponse.Error_InternalError_Code; _HttpRequestResponseContentType = ""; _HttpRequestResponseContent = null; _HttpRequestResponseHeaders = new Dictionary <string, IEnumerable <string> >(); try { _HttpRequestResponseCode = (int)_Response.StatusCode; BWebUtilities.InjectHeadersIntoDictionary(_Response.Headers, _HttpRequestResponseHeaders); _HttpRequestResponseContentType = _Response.ContentType; using (var ResStream = _Response.GetResponseStream()) { var CopyStream = new BMemoryTributary(BUtility.ReadToEnd(ResStream)); _HttpRequestResponseContent = new BStringOrStream(CopyStream, CopyStream.Length, () => { try { CopyStream?.Dispose(); } catch { } }); } _bHttpRequestSuccess = true; } catch (Exception e) { _ErrorMessageAction?.Invoke("Error: RequestRedirection-AnalyzeResponse: " + e.Message + ", Trace: " + e.StackTrace); _bHttpRequestSuccess = false; } }