public void GetResponseAsync(AsyncResponseCallback callback, object state) { if (!this.busy) { this.busy = true; HttpWebRequestState internalState = new HttpWebRequestState(this.request, callback, state); ThreadPool.QueueUserWorkItem(DoGetResponse, internalState); } }
public HttpWebRequestState(HttpWebRequest request, AsyncResponseCallback callback, object state) { this.Request = request; this.Callback = callback; this.State = state; }
public void GETRequestAsync(AsyncResponseCallback callback) { if (callback == null) { throw new ArgumentNullException("callback"); } request.BeginGetResponse(OnResponse, new ResponseInfo() { callback = callback, responseCode = HttpStatusCode.OK }); }
public void POSTRequestAsync(byte[] data, AsyncResponseCallback callback) { if (callback == null) { throw new ArgumentNullException("callback"); } request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = data.Length; request.BeginGetRequestStream(OnRequetStream, new RequestInfo() { data = data, callback = callback }); }
/// <summary> /// Асинхронное получение списка продуктов. /// </summary> /// <param name="callback">Вызывается с результатом, в случае успеха.</param> /// <param name="onError">Вызывается в случае ошибки</param> public void ProductsListAsync(AsyncResponseCallback <ProductInfo[]> callback, AsyncResponseError onError = null) { if (callback == null) { throw new ArgumentNullException("callback"); } var request = new Request(new string[] { SERVER, "products" }, new string[, ] { }, certificate); if (!string.IsNullOrEmpty(apiKey)) { request.SetAPIKey(apiKey); } var requestInfo = new AsyncArrayHandler <ProductInfo>(ProductInfo.TryBuild, callback, onError); request.GETRequestAsync(requestInfo.OnData); }
/// <summary> /// Асинхронное создание запроса продукты. /// </summary> /// <param name="callback">Вызывается с результатом, в случае успеха.</param> /// <param name="onError">Вызывается в случае ошибки</param> public void CreateOrderAsync(OrderRequest order, AsyncResponseCallback <OrderInfo> callback, AsyncResponseError onError = null) { if (callback == null) { throw new ArgumentNullException("callback"); } var request = new Request(new string[] { SERVER, "order" }, new string[, ] { }, certificate); if (!string.IsNullOrEmpty(apiKey)) { request.SetAPIKey(apiKey); } var requestInfo = new AsyncObjectHandler <OrderInfo>(OrderInfo.TryBuild, callback, onError); request.POSTRequestAsync(Encoding.UTF8.GetBytes(JSON.ToString(order.ToObject())), requestInfo.OnData); }
/// <summary> /// Асинхронный поиск объектов по адресу. /// </summary> /// <param name="callback">Вызывается с результатом, в случае успеха.</param> /// <param name="onError">Вызывается в случае ошибки</param> public void SearchAsync(string target, AsyncResponseCallback <ObjectBaseInfo[]> callback, AsyncResponseError onError = null) { if (callback == null) { throw new ArgumentNullException("callback"); } var request = new Request(new string[] { SERVER, "search" }, new string[, ] { { "query", target } }, certificate); if (!string.IsNullOrEmpty(apiKey)) { request.SetAPIKey(apiKey); } var requestInfo = new AsyncArrayHandler <ObjectBaseInfo>(ObjectBaseInfo.TryBuild, callback, onError); request.GETRequestAsync(requestInfo.OnData); }
/// <summary> /// Асинхронное получение информации об объекте. /// </summary> /// <param name="callback">Вызывается с результатом, в случае успеха.</param> /// <param name="onError">Вызывается в случае ошибки</param> public void GetObjectInfoAsync(string cadastralNumber, AsyncResponseCallback <ObjectData> callback, AsyncResponseError onError = null) { if (callback == null) { throw new ArgumentNullException("callback"); } var request = new Request(new string[] { SERVER, "object", cadastralNumber }, new string[, ] { }, certificate); if (!string.IsNullOrEmpty(apiKey)) { request.SetAPIKey(apiKey); } var requestInfo = new AsyncObjectHandler <ObjectData>(ObjectData.TryBuild, callback, onError); request.GETRequestAsync(requestInfo.OnData); }
/// <summary> /// Асинхронное получение статуса заказов. /// </summary> /// <param name="callback">Вызывается с результатом, в случае успеха.</param> /// <param name="onError">Вызывается в случае ошибки</param> public void OrdersStatusAsync(string[] ids, AsyncResponseCallback <OrderStatusInfo[]> callback, AsyncResponseError onError = null) { if (callback == null) { throw new ArgumentNullException("callback"); } var list = new string[ids.Length, 2]; if (ids.Length > 1) { for (int i = 0; i < ids.Length; i++) { list[i, 0] = "orderItemID[]"; list[i, 1] = ids[i]; } } else { list[0, 0] = "orderItemID"; list[0, 1] = ids[0]; } var request = new Request(new string[] { SERVER, "orders" }, list, certificate); if (!string.IsNullOrEmpty(apiKey)) { request.SetAPIKey(apiKey); } var requestInfo = new AsyncArrayHandler <OrderStatusInfo>(OrderStatusInfo.TryBuild, callback, onError); request.GETRequestAsync(requestInfo.OnData); }
public AsyncObjectHandler(Utility.TryObjectBuild <T> builder, AsyncResponseCallback <T> callback, AsyncResponseError onError) { this.callback = callback; this.onError = onError; this.builder = builder; }