private void ValueEncryption(JValue value, EncryptionEnum encryption) { if (value.Value != null) { if (encryption == EncryptionEnum.Encrypt) { value.Value = DependencyRegistar.Resolve <ICryptographicService>().GetEncryptedValue(value.Value.ToString()); } else { value.Value = DependencyRegistar.Resolve <ICryptographicService>().GetDecryptedValue(value.Value.ToString()); } } }
private Uri UriEncryption(string url) { var uri = new Uri(url); var uriBuilder = new UriBuilder(uri); var queryStringParams = uri.ParseQueryString(); if (queryStringParams.Keys.Count > 0) { for (int i = 0; i < queryStringParams.Count; i++) { if (queryStringParams.Keys[i].ToString().EndsWith("id", StringComparison.InvariantCultureIgnoreCase) || queryStringParams.Keys[i].ToString().EndsWith("ids", StringComparison.InvariantCultureIgnoreCase)) { queryStringParams.Set(queryStringParams.Keys[i], DependencyRegistar.Resolve <ICryptographicService>().GetDecryptedValue(queryStringParams[i])); } } uriBuilder.Query = queryStringParams.ToString(); } return(uriBuilder.Uri); }
protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var isEncryptionEnabled = DependencyRegistar.Resolve <IConfigurationManager>().GetAppSetting <bool>("IsEncryptionEnabled"); if (isEncryptionEnabled) { request.RequestUri = UriEncryption(request.RequestUri.AbsoluteUri); if (request.Content != null) { request.Content = ContentEncryption(await request.Content.ReadAsStringAsync(), EncryptionEnum.Decrypt); } } var response = await base.SendAsync(request, cancellationToken); if (isEncryptionEnabled && response.Content != null) { response.Content = ContentEncryption(await response.Content.ReadAsStringAsync(), EncryptionEnum.Encrypt); } return(response); }
//Configurating SimpleInjector public void ConfigureDI(HttpConfiguration config) { DependencyRegistar.Initialize(config); }