protected static WebHeaderCollection GetHttpHeadersWithUrlParams(BaseRequestV2 request, String url, Options options) { WebHeaderCollection headers = GetCommonHttpHeaders(request, url, options); headers.Add(AUTHORIZATION, PrepareAuthorizationStringWithUrlParam(request, url, options)); return(headers); }
public static string SerializeObjectToPrettyJson(BaseRequestV2 value) { StringBuilder sb = new StringBuilder(256); StringWriter sw = new StringWriter(sb, CultureInfo.InvariantCulture); var jsonSerializer = JsonSerializer.CreateDefault(); jsonSerializer.NullValueHandling = NullValueHandling.Ignore; jsonSerializer.DefaultValueHandling = DefaultValueHandling.Ignore; jsonSerializer.ContractResolver = new CamelCasePropertyNamesContractResolver(); jsonSerializer.Formatting = Formatting.Indented; using (JsonTextWriter jsonWriter = new JsonTextWriter(sw)) { jsonWriter.Formatting = Formatting.Indented; jsonWriter.IndentChar = '\t'; jsonWriter.Indentation = 1; jsonSerializer.Serialize(jsonWriter, value, typeof(BaseRequestV2)); } string json = sw.ToString(); return(json.Replace("\r", "")); }
protected static Dictionary <string, string> GetHttpHeadersWithUrlParams(BaseRequestV2 request, String url, Options options) { Dictionary <string, string> headers = GetCommonHttpHeaders(request, url, options); headers.Add(AUTHORIZATION, PrepareAuthorizationStringWithRequestBody(null, url, options)); return(headers); }
private static WebHeaderCollection GetCommonHttpHeaders(BaseRequestV2 request, String url, Options options) { WebHeaderCollection headers = new WebHeaderCollection(); headers.Add("Accept", "application/json"); headers.Add(CLIENT_VERSION_HEADER_NAME, IyzipayConstants.CLIENT_VERSION); headers.Add(CONVERSATION_ID_HEADER_NAME, request.ConversationId); return(headers); }
private static String PrepareAuthorizationStringWithUrlParam(BaseRequestV2 request, String url, Options options) { String randomKey = GenerateRandomKey(); String uriPath = FindUriPath(url); String dataToEncrypt = randomKey + uriPath; String hash = HashGeneratorV2.GenerateHash(options.ApiKey, options.SecretKey, randomKey, dataToEncrypt); return(IYZIWS_V2_HEADER_NAME + hash); }
public static string SerializeToJsonString(BaseRequestV2 request) { return(JsonConvert.SerializeObject(request, new JsonSerializerSettings() { Formatting = Formatting.None, NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore, ContractResolver = new CamelCasePropertyNamesContractResolver() })); }
private static String PrepareAuthorizationStringWithRequestBody(BaseRequestV2 request, String url, Options options) { String randomKey = GenerateRandomKey(); String uriPath = FindUriPath(url); String payload = request != null ? uriPath + JsonBuilder.SerializeObjectToPrettyJson(request) : uriPath; String dataToEncrypt = randomKey + payload; String hash = HashGeneratorV2.GenerateHash(options.ApiKey, options.SecretKey, randomKey, dataToEncrypt); return(IYZIWS_V2_HEADER_NAME + hash); }
public T Post <T>(String url, WebHeaderCollection headers, BaseRequestV2 request) where T : IyzipayResourceV2 { HttpClient httpClient = new HttpClient(); foreach (String key in headers.Keys) { httpClient.DefaultRequestHeaders.Add(key, headers.Get(key)); } HttpResponseMessage httpResponseMessage = httpClient.PostAsync(url, JsonBuilder.ToJsonString(request)).Result; var response = JsonConvert.DeserializeObject <T>(httpResponseMessage.Content.ReadAsStringAsync().Result); response.AppendWithHttpResponseHeaders(httpResponseMessage); return(response); }
public T Delete <T>(String url, Dictionary <string, string> headers, BaseRequestV2 request) where T : IyzipayResourceV2 { HttpRequestMessage requestMessage = new HttpRequestMessage { Method = HttpMethod.Delete, RequestUri = new Uri(url), Content = JsonBuilder.ToJsonString(request) }; foreach (var header in headers) { requestMessage.Headers.Add(header.Key, header.Value); } HttpResponseMessage httpResponseMessage = HttpClient.SendAsync(requestMessage).Result; var response = JsonConvert.DeserializeObject <T>(httpResponseMessage.Content.ReadAsStringAsync().Result); response.AppendWithHttpResponseHeaders(httpResponseMessage); return(response); }
public static StringContent ToJsonString(BaseRequestV2 request) { return(new StringContent(SerializeObjectToPrettyJson(request), Encoding.UTF8, "application/json")); }
public static StringContent ToJsonString(BaseRequestV2 request) { return(new StringContent(SerializeToJsonString(request), Encoding.Unicode, "application/json")); }
// Async public async Task <T> DeleteAsync <T>(String url, Dictionary <string, string> headers, BaseRequestV2 request) where T : IyzipayResourceV2 { HttpRequestMessage requestMessage = new HttpRequestMessage { Method = HttpMethod.Delete, RequestUri = new Uri(url), Content = JsonBuilder.ToJsonString(request) }; foreach (var header in headers) { requestMessage.Headers.Add(header.Key, header.Value); } HttpResponseMessage httpResponseMessage = await HttpClient.SendAsync(requestMessage); return(await ReadResponseMessageAsync <T>(httpResponseMessage)); }