protected T Execute <T>(IDadataRequest request) { var httpRequest = CreateHttpRequest(verb: "POST", url: baseUrl); httpRequest = Serialize(httpRequest, request); var httpResponse = (HttpWebResponse)httpRequest.GetResponse(); return(Deserialize <T>(httpResponse)); }
protected HttpWebRequest Serialize(HttpWebRequest httpRequest, IDadataRequest request) { using (var w = new StreamWriter(httpRequest.GetRequestStream())) { using (JsonWriter writer = new JsonTextWriter(w)) { this.serializer.Serialize(writer, request); } } return(httpRequest); }
protected T Execute <T>(string method, string entity, IDadataRequest request) { var httpRequest = CreateHttpRequest(verb: "POST", method: method, entity: entity); httpRequest = Serialize(httpRequest, request); var httpResponse = (HttpWebResponse)httpRequest.GetResponse(); return(Deserialize <T>(httpResponse)); }
protected async Task <T> Execute <T>(IDadataRequest request) { var httpRequest = CreateHttpRequest(verb: "POST", url: baseUrl); httpRequest = Serialize(httpRequest, request); var httpResponse = (HttpWebResponse)await httpRequest.GetResponseAsync(); return(await Deserialize <T>(httpResponse)); }
protected async Task <T> Execute <T>(string method, string entity, IDadataRequest request) { var httpRequest = CreateHttpRequest(verb: "POST", method: method, entity: entity); httpRequest = Serialize(httpRequest, request); var httpResponse = await httpRequest.GetResponseAsync(); return(await Deserialize <T>((HttpWebResponse)httpResponse)); }
protected async Task <T> ExecutePost <T>(string method, string entity, IDadataRequest request) { var httpRequest = CreateHttpRequest(verb: "POST", method: method, entity: entity); httpRequest = SerializeRequest(httpRequest, request); var httpResponse = this.requestExecutor.ExecuteWithMaxReqPerSecond(httpRequest, this.maxRequestsPerSecond); return(await Deserialize <T>((HttpWebResponse)httpResponse)); }
protected async Task <T> Execute <T>(string method, string entity, IDadataRequest request) { var url = BuildUrl(method: method, entity: entity); using (var httpRequest = CreateHttpRequest(verb: HttpMethod.Post, url: url)) using (var httpContent = Serialize(httpRequest, request)) { httpRequest.Content = httpContent; using (var httpResponse = await client.SendAsync(httpRequest)) { httpResponse.EnsureSuccessStatusCode(); return(await Deserialize <T>(httpResponse)); } } }
protected HttpContent Serialize(HttpRequestMessage httpRequest, IDadataRequest request) { MemoryStream stream = new MemoryStream(); using (var w = new StreamWriter(stream, encoding: new UTF8Encoding(false), bufferSize: 1024, leaveOpen: true)) using (JsonWriter writer = new JsonTextWriter(w)) { this.serializer.Serialize(writer, request); writer.Flush(); } stream.Seek(0, SeekOrigin.Begin); var httpContent = new StreamContent(stream); httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(httpContent); }