/// <summary> /// The constructor. /// </summary> /// <param name="options">We expect some options here.</param> public AjaxEventArgs(AjaxRequestOptions options) { Options = options; }
/// <summary> /// The constructor. /// </summary> /// <param name="options">The options.</param> public AjaxRequest(AjaxRequestOptions options) { Options = options; header = new Dictionary <string, string>(); body = string.Empty; var url = options.DirectUrl; if (options.Type == AjaxRequestType.GET) { url = options.DirectUrl + "?" + options.EncodedNameValuePairs; } request = HttpWebRequest.Create(url) as HttpWebRequest; request.Method = Options.Type.ToString(); request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore); request.Timeout = Options.Timeout * 1000; if (!string.IsNullOrEmpty(Options.MimeType)) { request.ContentType = Options.MimeType; } request.AllowAutoRedirect = true; request.Date = DateTime.Now; if (!string.IsNullOrEmpty(Options.Accepts)) { request.Accept = Options.Accepts; } if (!string.IsNullOrEmpty(Options.UserName)) { SetAuthorizationHeader(Options.UserName, Options.Password ?? string.Empty); } // See: http://en.wikipedia.org/wiki/List_of_HTTP_header_fields if (!Options.DiscardRequestedWith) { request.Headers.Add("X-Requested-With", "XMLHttpRequest"); } foreach (string key in Options.Headers.Keys) { request.Headers[key] = Options.Headers[key].ToString(); } if (Options.Complete != null) { OnComplete += Options.Complete; } if (Options.Success != null) { OnSuccess += Options.Success; } if (Options.Error != null) { OnError += Options.Error; } task = new Task(PerformRequest); ReadyState = Zeroit.Framework.Utilities.Web.ReadyState.Uninitialized; }