private void OnHttpRequestReady(object sender, HttpReadyEventArgs e) { OnProgressing = null; //Clear HttpRequest HttpRequest.OnProgressing -= OnHttpRequestPrgogressing; HttpRequest.OnReady -= OnHttpRequestReady; if (e.State != ReadyState.Succeeded) { Response.SetException(HttpRequest.Exception); HttpRequest.OnResponsed -= OnHttpResponsed; HttpRequest = null; Response.HttpResponse_OnReady(sender, e); } }
internal void HttpResponse_OnReady(object sender, HttpReadyEventArgs e) { ReadyState state = e.State; if (HttpResponse != null) { if (HttpResponse.Exception != null) { Exception = HttpResponse.Exception; } Decode(); if (!IsSucceeded && state != ReadyState.Cancelled && state != ReadyState.Failed) { state = ReadyState.Failed; } } else if (state == ReadyState.Failed) { ExplainException(); } if (OnReady != null) { OnReady(this, new ReadyEventArgs(state)); } if (HttpResponse != null) { HttpResponse.OnProgressing -= HttpResponse_OnProgressing; HttpResponse.OnReady -= HttpResponse_OnReady; HttpResponse.Dispose(); HttpResponse = null; } OnReady = null; OnProgressing = null; }