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);
        }
Ejemplo n.º 2
0
        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", ""));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 6
0
 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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
 public static StringContent ToJsonString(BaseRequestV2 request)
 {
     return(new StringContent(SerializeObjectToPrettyJson(request), Encoding.UTF8, "application/json"));
 }
Ejemplo n.º 11
0
 public static StringContent ToJsonString(BaseRequestV2 request)
 {
     return(new StringContent(SerializeToJsonString(request), Encoding.Unicode, "application/json"));
 }
Ejemplo n.º 12
0
        // 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));
        }