/// <summary> /// The constructor for UnityWebResponseData. /// </summary> /// <param name="wwwRequest"> /// An instance of WWW after the web request has /// completed and response fields are set /// </param> public UnityWebResponseData(WWW wwwRequest) { _logger = Logger.GetLogger(this.GetType()); CopyHeaderValues(wwwRequest.responseHeaders); try { _responseBody = wwwRequest.bytes; } catch (Exception) { _responseBody = null; } if ((_responseBody != null && _responseBody.Length > 0) || (_responseBody.Length == 0 && wwwRequest.error == null)) { _responseStream = new MemoryStream(_responseBody); } this.ContentLength = wwwRequest.bytesDownloaded; string contentType = null; this._headers.TryGetValue( HeaderKeys.ContentTypeHeader, out contentType); this.ContentType = contentType; try { if (string.IsNullOrEmpty(wwwRequest.error)) { string statusHeader = string.Empty; if (this._headers.TryGetValue(HeaderKeys.StatusHeader, out statusHeader)) { this.StatusCode = (HttpStatusCode)Enum.Parse( typeof(HttpStatusCode), statusHeader.Substring(9, 3).Trim()); } else { this.StatusCode = 0; } } else { int statusCode; if (Int32.TryParse(wwwRequest.error.Substring(0, 3), out statusCode)) { this.StatusCode = (HttpStatusCode)Enum.Parse(typeof(HttpStatusCode), wwwRequest.error.Substring(3).Replace(" ", "").Replace(":", "").Trim(), true);//ignored case } else { this.StatusCode = 0; } } } catch { this.StatusCode = 0; } this.IsSuccessStatusCode = wwwRequest.error == null ? true : false; }
/// <summary> /// The constructor for UnityWebResponseData. /// </summary> /// <param name="wwwRequest"> /// An instance of WWW after the web request has /// completed and response fields are set /// </param> public UnityWebResponseData(WWW wwwRequest) { _logger = Logger.GetLogger(this.GetType()); CopyHeaderValues(wwwRequest.responseHeaders); try { _responseBody = wwwRequest.bytes; } catch (Exception) { _responseBody = null; } if ((_responseBody != null && _responseBody.Length > 0) || (_responseBody.Length == 0 && wwwRequest.error == null)) { _responseStream = new MemoryStream(_responseBody); } this.ContentLength = wwwRequest.bytesDownloaded; string contentType = null; this._headers.TryGetValue( HeaderKeys.ContentTypeHeader, out contentType); this.ContentType = contentType; try { if (string.IsNullOrEmpty(wwwRequest.error)) { string statusHeader = string.Empty; if (this._headers.TryGetValue(HeaderKeys.StatusHeader, out statusHeader)) { this.StatusCode = (HttpStatusCode)Enum.Parse( typeof(HttpStatusCode), statusHeader.Substring(9, 3).Trim()); } else { this.StatusCode = 0; } } else { int statusCode; if (Int32.TryParse(wwwRequest.error.Substring(0, 3), out statusCode)) this.StatusCode = (HttpStatusCode)Enum.Parse(typeof(HttpStatusCode), wwwRequest.error.Substring(3).Replace(" ", "").Replace(":", "").Trim(), true);//ignored case else this.StatusCode = 0; } } catch { this.StatusCode = 0; } this.IsSuccessStatusCode = wwwRequest.error == null ? true : false; }
/// <summary> /// The constructor for UnityWebResponseData. /// </summary> /// <param name="wwwRequest"> /// An instance of WWW after the web request has /// completed and response fields are set /// </param> public UnityWebResponseData(WWW wwwRequest) { _logger= Logger.GetLogger(this.GetType()); _headers = wwwRequest.responseHeaders; try { _responseBody = wwwRequest.bytes; } catch (Exception) { _logger.DebugFormat(@"setting response body to null"); _responseBody = null; } if (wwwRequest.error == null) { _logger.DebugFormat(@"recieved successful response"); } else { _logger.DebugFormat(@"recieved error response"); _logger.DebugFormat(@"recieved = {0}", wwwRequest.error); } if ((_responseBody != null && _responseBody.Length > 0) || (_responseBody.Length == 0 && wwwRequest.error == null)) { _logger.DebugFormat(@"{0}", System.Text.UTF8Encoding.UTF8.GetString(_responseBody)); _responseStream = new MemoryStream(_responseBody); } this.ContentLength = wwwRequest.bytesDownloaded; string contentType = null; this._headers.TryGetValue( HeaderKeys.ContentTypeHeader.ToUpperInvariant(), out contentType); this.ContentType = contentType; try { if(string.IsNullOrEmpty(wwwRequest.error)) { string statusHeader = string.Empty; this._headers.TryGetValue(HeaderKeys.StatusHeader.ToUpperInvariant(),out statusHeader); if(!string.IsNullOrEmpty(statusHeader)) { this.StatusCode = (HttpStatusCode)Enum.Parse( typeof(HttpStatusCode), statusHeader.Substring(9, 3).Trim()); } else { this.StatusCode = 0; } } else { int statusCode; if (Int32.TryParse(wwwRequest.error.Substring(0,3), out statusCode)) this.StatusCode = (HttpStatusCode)Enum.Parse(typeof(HttpStatusCode), wwwRequest.error.Substring(3).Replace(" ", "").Replace(":","").Trim(),true);//ignored case else this.StatusCode = 0; } } catch { this.StatusCode = 0; } _logger.DebugFormat(@"Status = {0}", StatusCode); this.IsSuccessStatusCode = wwwRequest.error == null?true:false; }
/// <summary> /// The constructor for UnityWebResponseData. /// </summary> /// <param name="wwwRequest"> /// An instance of WWW after the web request has /// completed and response fields are set /// </param> public UnityWebResponseData(WWW wwwRequest) { _logger = Amazon.Runtime.Internal.Util.Logger.GetLogger(this.GetType()); _headers = wwwRequest.responseHeaders; if (wwwRequest.error == null) { _logger.DebugFormat(@"recieved successful response"); _responseBody = wwwRequest.bytes; } else { _logger.DebugFormat(@"recieved error response"); } if (_responseBody != null) { _logger.DebugFormat(@"{0}", System.Text.UTF8Encoding.UTF8.GetString(_responseBody)); _responseStream = new MemoryStream(wwwRequest.bytes); } this.ContentLength = wwwRequest.bytesDownloaded; string contentType = null; this._headers.TryGetValue( HeaderKeys.ContentTypeHeader.ToUpperInvariant(), out contentType); this.ContentType = contentType; try { if (string.IsNullOrEmpty(wwwRequest.error)) { string statusHeader = string.Empty; this._headers.TryGetValue(HeaderKeys.StatusHeader.ToUpperInvariant(), out statusHeader); _logger.DebugFormat(@"Status = {0}", statusHeader); if (!string.IsNullOrEmpty(statusHeader)) { this.StatusCode = (HttpStatusCode)Enum.Parse( typeof(HttpStatusCode), statusHeader.Substring(9, 3).Trim()); } else { this.StatusCode = 0; } } else { int statusCode; if (Int32.TryParse(wwwRequest.error.Substring(0, 3), out statusCode)) { this.StatusCode = (HttpStatusCode)Enum.Parse(typeof(HttpStatusCode), wwwRequest.error.Substring(3).Replace(" ", "").Replace(":", "").Trim(), true);//ignored case } else { this.StatusCode = 0; } } } catch { this.StatusCode = 0; } this.IsSuccessStatusCode = wwwRequest.error == null?true:false; }