diff --git a/controller/app/controllers/usermanagement/validator/UserGetRequestValidator.java b/controller/app/controllers/usermanagement/validator/UserGetRequestValidator.java index 6ed882c2afe83544ea5d691bbf258679c633e2db..90d2f0eda7988456cc5ed10bfb64edf68ede8f55 100644 --- a/controller/app/controllers/usermanagement/validator/UserGetRequestValidator.java +++ b/controller/app/controllers/usermanagement/validator/UserGetRequestValidator.java @@ -53,8 +53,8 @@ public class UserGetRequestValidator extends BaseRequestValidator { public void validateGetUserByKeyRequestaWithCaptcha(Request request, Http.Request httpRequest) { String captcha = httpRequest.getQueryString(JsonKey.CAPTCHA_RESPONSE); - logger.info("QueryString: " + httpRequest.uri()); - logger.info("Captach: " + captcha); + logger.debug("QueryString: " + httpRequest.uri()); + logger.debug("Captach: " + captcha); String mobileApp = httpRequest.getQueryString(JsonKey.MOBILE_APP); if (Boolean.parseBoolean(ProjectUtil.getConfigValue(JsonKey.ENABLE_CAPTCHA)) && !new CaptchaHelper().validate(captcha, mobileApp)) { diff --git a/controller/app/util/CaptchaHelper.java b/controller/app/util/CaptchaHelper.java index 0298e8dd5f66fce53da96b80752a9dcfddd168ea..52f37329ce1d66b425c31a31d20e3afabdc86908 100644 --- a/controller/app/util/CaptchaHelper.java +++ b/controller/app/util/CaptchaHelper.java @@ -46,7 +46,7 @@ public class CaptchaHelper { .toString(); logger.info("Calling Api: " + url); logger.info("Captcha: " + captcha); - String response = HttpClientUtil.postFormData(url, requestMap, headers); + String response = HttpClientUtil.postFormData(url, requestMap, headers, null); Map<String, Object> responseMap = mapper.readValue(response, Map.class); isCaptchaValid = (boolean) responseMap.get("success"); if (!isCaptchaValid) { diff --git a/controller/test/controllers/usermanagement/UserControllerTest.java b/controller/test/controllers/usermanagement/UserControllerTest.java index d403b25186d63835e9ed5766d87298beeb90e70f..3cbde80f1ef6adb5da2807261f5b6c10fc048643 100644 --- a/controller/test/controllers/usermanagement/UserControllerTest.java +++ b/controller/test/controllers/usermanagement/UserControllerTest.java @@ -29,6 +29,7 @@ import org.sunbird.http.HttpClientUtil; import org.sunbird.keys.JsonKey; import org.sunbird.model.user.UserDeclareEntity; import org.sunbird.request.HeaderParam; +import org.sunbird.request.RequestContext; import org.sunbird.response.Response; import org.sunbird.response.ResponseParams; import org.sunbird.util.ProjectUtil; @@ -577,7 +578,7 @@ public class UserControllerTest extends BaseApplicationTest { ObjectMapper objectMapper = new ObjectMapper(); String s = objectMapper.writeValueAsString(map); when(ProjectUtil.getConfigValue(Mockito.anyString())).thenReturn("anyString"); - when(HttpClientUtil.postFormData(Mockito.anyString(), Mockito.anyMap(), Mockito.anyMap())) + when(HttpClientUtil.postFormData(Mockito.anyString(), Mockito.anyMap(), Mockito.anyMap(),Mockito.any(RequestContext.class))) .thenReturn(s); Result result = performTest("/v2/user/exists/email/demo@gmail.com", "GET", null); assertTrue(getResponseStatus(result) == 200); diff --git a/controller/test/util/CaptchaHelperTest.java b/controller/test/util/CaptchaHelperTest.java index 1f99d169b166e6c605d61d20bd2f790e7ac7f0f0..daccd9016df62a2f07c020927773734644c00f45 100644 --- a/controller/test/util/CaptchaHelperTest.java +++ b/controller/test/util/CaptchaHelperTest.java @@ -16,6 +16,7 @@ import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import org.sunbird.http.HttpClientUtil; +import org.sunbird.request.RequestContext; import org.sunbird.util.ProjectUtil; @RunWith(PowerMockRunner.class) @@ -54,7 +55,7 @@ public class CaptchaHelperTest { ObjectMapper objectMapper = new ObjectMapper(); String s = objectMapper.writeValueAsString(map); when(ProjectUtil.getConfigValue(Mockito.anyString())).thenReturn("anyString"); - when(HttpClientUtil.postFormData(Mockito.anyString(), Mockito.anyMap(), Mockito.anyMap())) + when(HttpClientUtil.postFormData(Mockito.anyString(), Mockito.anyMap(), Mockito.anyMap(), Mockito.any())) .thenReturn(s); } } diff --git a/core/notification-utils/src/main/java/org/sunbird/notification/sms/providerimpl/NICGatewaySmsProvider.java b/core/notification-utils/src/main/java/org/sunbird/notification/sms/providerimpl/NICGatewaySmsProvider.java index 6b222d7a96f2583d6e930c7e29609afb942807e7..55bccc8d82999ddf6fec7873ad09896a6dacede4 100644 --- a/core/notification-utils/src/main/java/org/sunbird/notification/sms/providerimpl/NICGatewaySmsProvider.java +++ b/core/notification-utils/src/main/java/org/sunbird/notification/sms/providerimpl/NICGatewaySmsProvider.java @@ -75,7 +75,7 @@ public class NICGatewaySmsProvider implements ISmsProvider { Map<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); headers.put("Accept", "application/json"); - String response = HttpClientUtil.get(URI.toString(), headers); + String response = HttpClientUtil.get(URI.toString(), headers, context); if (StringUtils.isNotBlank(response)) { ObjectMapper mapper = new ObjectMapper(); Map<String, Object> resultMap; diff --git a/core/platform-common/src/main/java/org/sunbird/http/HttpClientUtil.java b/core/platform-common/src/main/java/org/sunbird/http/HttpClientUtil.java index 4180556996231aa98b2dacae505d70704606750c..655463360d0fddef30bcb0b2a9aa4b46de19c9f7 100644 --- a/core/platform-common/src/main/java/org/sunbird/http/HttpClientUtil.java +++ b/core/platform-common/src/main/java/org/sunbird/http/HttpClientUtil.java @@ -1,5 +1,6 @@ package org.sunbird.http; +import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -22,6 +23,7 @@ import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; import org.sunbird.logging.LoggerUtil; +import org.sunbird.request.RequestContext; public class HttpClientUtil { private static LoggerUtil logger = new LoggerUtil(HttpClientUtil.class); @@ -68,7 +70,7 @@ public class HttpClientUtil { return httpClientUtil; } - public static String get(String requestURL, Map<String, String> headers) { + public static String get(String requestURL, Map<String, String> headers, RequestContext context) { CloseableHttpResponse response = null; try { HttpGet httpGet = new HttpGet(requestURL); @@ -78,53 +80,16 @@ public class HttpClientUtil { } } response = httpclient.execute(httpGet); - int status = response.getStatusLine().getStatusCode(); - if (status >= 200 && status < 300) { - HttpEntity httpEntity = response.getEntity(); - byte[] bytes = EntityUtils.toByteArray(httpEntity); - StatusLine sl = response.getStatusLine(); - logger.debug( - "Response from get call : " + sl.getStatusCode() + " - " + sl.getReasonPhrase()); - return new String(bytes); - } else { - getErrorResponse(response, "GET"); - return ""; - } + return getResponse(response, context, "GET"); } catch (Exception ex) { - logger.error("Exception occurred while calling get method", ex); + logger.error(context,"Exception occurred while calling get method", ex); return ""; } finally { - if (null != response) { - try { - response.close(); - } catch (Exception ex) { - logger.error("Exception occurred while closing get response object", ex); - } - } - } - } - - private static void getErrorResponse(CloseableHttpResponse response, String method) { - try { - HttpEntity httpEntity = response.getEntity(); - byte[] bytes = EntityUtils.toByteArray(httpEntity); - StatusLine sl = response.getStatusLine(); - String resp = new String(bytes); - logger.info( - "Response from : " - + method - + " call " - + resp - + " status " - + sl.getStatusCode() - + " - " - + sl.getReasonPhrase()); - } catch (Exception ex) { - logger.error("Exception occurred while fetching response", ex); + closeResponse(response, context, "GET"); } } - public static String post(String requestURL, String params, Map<String, String> headers) { + public static String post(String requestURL, String params, Map<String, String> headers, RequestContext context) { CloseableHttpResponse response = null; try { HttpPost httpPost = new HttpPost(requestURL); @@ -137,34 +102,17 @@ public class HttpClientUtil { httpPost.setEntity(entity); response = httpclient.execute(httpPost); - int status = response.getStatusLine().getStatusCode(); - if (status >= 200 && status < 300) { - HttpEntity httpEntity = response.getEntity(); - byte[] bytes = EntityUtils.toByteArray(httpEntity); - StatusLine sl = response.getStatusLine(); - logger.debug( - "Response from post call : " + sl.getStatusCode() + " - " + sl.getReasonPhrase()); - return new String(bytes); - } else { - getErrorResponse(response, "POST"); - return ""; - } + return getResponse(response, context, "POST"); } catch (Exception ex) { - logger.error("Exception occurred while calling Post method", ex); + logger.error(context,"Exception occurred while calling Post method", ex); return ""; } finally { - if (null != response) { - try { - response.close(); - } catch (Exception ex) { - logger.error("Exception occurred while closing Post response object", ex); - } - } + closeResponse(response, context, "POST"); } } public static String postFormData( - String requestURL, Map<String, String> params, Map<String, String> headers) { + String requestURL, Map<String, String> params, Map<String, String> headers, RequestContext context) { CloseableHttpResponse response = null; try { HttpPost httpPost = new HttpPost(requestURL); @@ -183,33 +131,16 @@ public class HttpClientUtil { httpPost.setEntity(entity); response = httpclient.execute(httpPost); - int status = response.getStatusLine().getStatusCode(); - if (status >= 200 && status < 300) { - HttpEntity httpEntity = response.getEntity(); - byte[] bytes = EntityUtils.toByteArray(httpEntity); - StatusLine sl = response.getStatusLine(); - logger.debug( - "Response from post call : " + sl.getStatusCode() + " - " + sl.getReasonPhrase()); - return new String(bytes); - } else { - getErrorResponse(response, "POST FORM DATA"); - return ""; - } + return getResponse(response, context, "postFormData"); } catch (Exception ex) { - logger.error("Exception occurred while calling Post method", ex); + logger.error(context,"Exception occurred while calling postFormData method", ex); return ""; } finally { - if (null != response) { - try { - response.close(); - } catch (Exception ex) { - logger.error("Exception occurred while closing Post response object", ex); - } - } + closeResponse(response, context, "postFormData"); } } - public static String patch(String requestURL, String params, Map<String, String> headers) { + public static String patch(String requestURL, String params, Map<String, String> headers, RequestContext context) { CloseableHttpResponse response = null; try { HttpPatch httpPatch = new HttpPatch(requestURL); @@ -222,35 +153,16 @@ public class HttpClientUtil { httpPatch.setEntity(entity); response = httpclient.execute(httpPatch); - int status = response.getStatusLine().getStatusCode(); - if (status >= 200 && status < 300) { - HttpEntity httpEntity = response.getEntity(); - byte[] bytes = EntityUtils.toByteArray(httpEntity); - StatusLine sl = response.getStatusLine(); - logger.debug( - "Response from patch call : " + sl.getStatusCode() + " - " + sl.getReasonPhrase()); - String resp = new String(bytes); - logger.info("Got response from patch call : " + resp); - return resp; - } else { - getErrorResponse(response, "PATCH"); - return ""; - } + return getResponse(response, context, "PATCH"); } catch (Exception ex) { - logger.error("Exception occurred while calling patch method", ex); + logger.error(context,"Exception occurred while calling patch method", ex); return ""; } finally { - if (null != response) { - try { - response.close(); - } catch (Exception ex) { - logger.error("Exception occurred while closing patch response object", ex); - } - } + closeResponse(response, context, "PATCH"); } } - public static String delete(String requestURL, Map<String, String> headers) { + public static String delete(String requestURL, Map<String, String> headers, RequestContext context) { CloseableHttpResponse response = null; try { HttpDelete httpDelete = new HttpDelete(requestURL); @@ -260,32 +172,63 @@ public class HttpClientUtil { } } response = httpclient.execute(httpDelete); - int status = response.getStatusLine().getStatusCode(); - if (status >= 200 && status < 300) { - HttpEntity httpEntity = response.getEntity(); - StatusLine sl = response.getStatusLine(); - logger.debug( - "Response from delete call : " + sl.getStatusCode() + " - " + sl.getReasonPhrase()); - if (null != httpEntity) { - byte[] bytes = EntityUtils.toByteArray(httpEntity); - return new String(bytes); - } else { - return ""; - } + return getResponse(response, context, "DELETE"); + } catch (Exception ex) { + logger.error(context,"Exception occurred while calling delete method", ex); + return ""; + } finally { + closeResponse(response, context, "DELETE"); + } + } + + + private static String getResponse(CloseableHttpResponse response, RequestContext context, String method) throws IOException { + int status = response.getStatusLine().getStatusCode(); + if (status >= 200 && status < 300) { + HttpEntity httpEntity = response.getEntity(); + StatusLine sl = response.getStatusLine(); + logger.debug(context, + "Response from "+method+" call : " + sl.getStatusCode() + " - " + sl.getReasonPhrase()); + if (null != httpEntity) { + byte[] bytes = EntityUtils.toByteArray(httpEntity); + String resp = new String(bytes); + logger.info(context,"Got response from "+method+" call : " + resp); + return resp; } else { - getErrorResponse(response, "DELETE"); return ""; } - } catch (Exception ex) { - logger.error("Exception occurred while calling delete method", ex); + } else { + getErrorResponse(response, method, context); return ""; - } finally { - if (null != response) { - try { - response.close(); - } catch (Exception ex) { - logger.error("Exception occurred while closing delete response object", ex); - } + } + } + + private static void getErrorResponse(CloseableHttpResponse response, String method, RequestContext context) { + try { + HttpEntity httpEntity = response.getEntity(); + byte[] bytes = EntityUtils.toByteArray(httpEntity); + StatusLine sl = response.getStatusLine(); + String resp = new String(bytes); + logger.info(context, + "Response from : " + + method + + " call " + + resp + + " status " + + sl.getStatusCode() + + " - " + + sl.getReasonPhrase()); + } catch (Exception ex) { + logger.error(context, "Exception occurred while fetching response for method "+method, ex); + } + } + + private static void closeResponse(CloseableHttpResponse response, RequestContext context, String method) { + if (null != response) { + try { + response.close(); + } catch (Exception ex) { + logger.error(context,"Exception occurred while closing "+method+" response object", ex); } } } diff --git a/core/platform-common/src/main/java/org/sunbird/sso/KeycloakBruteForceAttackUtil.java b/core/platform-common/src/main/java/org/sunbird/sso/KeycloakBruteForceAttackUtil.java index 82f84b2d83f154d5610366bc6ea504f08a1bbfe7..833b10268876557274e4caaca81f4f802799452b 100644 --- a/core/platform-common/src/main/java/org/sunbird/sso/KeycloakBruteForceAttackUtil.java +++ b/core/platform-common/src/main/java/org/sunbird/sso/KeycloakBruteForceAttackUtil.java @@ -33,7 +33,7 @@ public class KeycloakBruteForceAttackUtil { + "/attack-detection/brute-force/users/" + fedUserPrefix + userId; - String response = HttpClientUtil.get(url, getHeaders(context)); + String response = HttpClientUtil.get(url, getHeaders(context), context); logger.info(context, "KeycloakBruteForceAttackUtil:getUserStatus: Response = " + response); Map<String, Object> attackStatus = new ObjectMapper().readValue(response, Map.class); boolean isDisabled = ((boolean) attackStatus.get("disabled")); @@ -57,7 +57,7 @@ public class KeycloakBruteForceAttackUtil { + "/attack-detection/brute-force/users/" + fedUserPrefix + userId; - HttpClientUtil.delete(url, getHeaders(context)); + HttpClientUtil.delete(url, getHeaders(context), context); logger.info(context, "clear Brute Force For User for userId : " + userId); return true; } diff --git a/core/platform-common/src/main/java/org/sunbird/sso/KeycloakRequiredActionLinkUtil.java b/core/platform-common/src/main/java/org/sunbird/sso/KeycloakRequiredActionLinkUtil.java index e47f1971acdde462b528ffedf05a078918520d93..7d7588d59f201a387cd99a5d3c2ced09acc9ea23 100644 --- a/core/platform-common/src/main/java/org/sunbird/sso/KeycloakRequiredActionLinkUtil.java +++ b/core/platform-common/src/main/java/org/sunbird/sso/KeycloakRequiredActionLinkUtil.java @@ -94,7 +94,7 @@ public class KeycloakRequiredActionLinkUtil { + "realms/" + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_SSO_RELAM) + SUNBIRD_KEYCLOAK_REQD_ACTION_LINK; - String response = HttpClientUtil.post(url, mapper.writeValueAsString(request), headers); + String response = HttpClientUtil.post(url, mapper.writeValueAsString(request), headers, context); logger.info(context, "KeycloakRequiredActionLinkUtil:generateLink: Response = " + response); diff --git a/core/platform-common/src/main/java/org/sunbird/sso/KeycloakUtil.java b/core/platform-common/src/main/java/org/sunbird/sso/KeycloakUtil.java index acff3cdd977cd0d9acaeeb742bf6397e1ff79104..fcf16cf97cad317c011180c629ae0f4591551fca 100644 --- a/core/platform-common/src/main/java/org/sunbird/sso/KeycloakUtil.java +++ b/core/platform-common/src/main/java/org/sunbird/sso/KeycloakUtil.java @@ -24,7 +24,7 @@ public class KeycloakUtil { fields.put("client_secret", ProjectUtil.getConfigValue(JsonKey.SUNBIRD_SSO_CLIENT_SECRET)); fields.put("grant_type", "client_credentials"); - String response = HttpClientUtil.postFormData(url, fields, headers); + String response = HttpClientUtil.postFormData(url, fields, headers, context); logger.debug(context, "KeycloakUtil:getAdminAccessToken: Response = " + response); Map<String, Object> responseMap = new ObjectMapper().readValue(response, Map.class); return (String) responseMap.get("access_token"); diff --git a/core/platform-common/src/main/java/org/sunbird/url/URLShortner.java b/core/platform-common/src/main/java/org/sunbird/url/URLShortner.java index 6bf16fae69303e908b352cc719dedaf124bbd077..eac3f7bcfcb464e5d0e5bf49faf9581a2bc4d5df 100644 --- a/core/platform-common/src/main/java/org/sunbird/url/URLShortner.java +++ b/core/platform-common/src/main/java/org/sunbird/url/URLShortner.java @@ -1,6 +1,8 @@ package org.sunbird.url; +import org.sunbird.request.RequestContext; + public interface URLShortner { - public String shortUrl(String url); + public String shortUrl(String url, RequestContext context); } diff --git a/core/platform-common/src/main/java/org/sunbird/url/URLShortnerImpl.java b/core/platform-common/src/main/java/org/sunbird/url/URLShortnerImpl.java index d0b365b2536d1654410e3db71b3205515c78889e..f748a5fc111c79edefcbf82dc559858dc449abfe 100644 --- a/core/platform-common/src/main/java/org/sunbird/url/URLShortnerImpl.java +++ b/core/platform-common/src/main/java/org/sunbird/url/URLShortnerImpl.java @@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils; import org.sunbird.http.HttpClientUtil; import org.sunbird.keys.JsonKey; import org.sunbird.logging.LoggerUtil; +import org.sunbird.request.RequestContext; import org.sunbird.util.ProjectUtil; import org.sunbird.util.PropertiesCache; @@ -19,12 +20,12 @@ public class URLShortnerImpl implements URLShortner { private static final String SUNBIRD_WEB_URL = "sunbird_web_url"; @Override - public String shortUrl(String url) { + public String shortUrl(String url, RequestContext context) { boolean flag = false; try { flag = Boolean.parseBoolean(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_URL_SHORTNER_ENABLE)); } catch (Exception ex) { - logger.error("Exception occurred while parsing sunbird_url_shortner_enable key", ex); + logger.error(context,"Exception occurred while parsing sunbird_url_shortner_enable key", ex); } if (flag) { String baseUrl = PropertiesCache.getInstance().getProperty("sunbird_url_shortner_base_url"); @@ -34,7 +35,7 @@ public class URLShortnerImpl implements URLShortner { PropertiesCache.getInstance().getProperty("sunbird_url_shortner_access_token"); } String requestURL = baseUrl + accessToken + "&longUrl=" + url; - String response = HttpClientUtil.get(requestURL, null); + String response = HttpClientUtil.get(requestURL, null, context); ObjectMapper mapper = new ObjectMapper(); Map<String, Object> map = null; if (!StringUtils.isBlank(response)) { @@ -43,7 +44,7 @@ public class URLShortnerImpl implements URLShortner { Map<String, String> dataMap = (Map<String, String>) map.get("data"); return dataMap.get("url"); } catch (IOException | ClassCastException e) { - logger.error("Exception occurred while parsing " + e.getMessage(), e); + logger.error(context,"Exception occurred while parsing " + e.getMessage(), e); } } } @@ -51,13 +52,13 @@ public class URLShortnerImpl implements URLShortner { } /** @return the url */ - public String getUrl() { + public String getUrl(RequestContext context) { if (StringUtils.isBlank(resUrl)) { String webUrl = System.getenv(SUNBIRD_WEB_URL); if (StringUtils.isBlank(webUrl)) { webUrl = PropertiesCache.getInstance().getProperty(SUNBIRD_WEB_URL); } - return shortUrl(webUrl); + return shortUrl(webUrl, context); } else { return resUrl; } diff --git a/core/platform-common/src/test/java/org/sunbird/http/HttpClientUtilTest.java b/core/platform-common/src/test/java/org/sunbird/http/HttpClientUtilTest.java index 832853f46735432dfe767aa382a63679188a7878..e267fb05612d1620d7d05862facbcbc5ad90afc0 100644 --- a/core/platform-common/src/test/java/org/sunbird/http/HttpClientUtilTest.java +++ b/core/platform-common/src/test/java/org/sunbird/http/HttpClientUtilTest.java @@ -25,6 +25,7 @@ import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; +import org.sunbird.request.RequestContext; @RunWith(PowerMockRunner.class) @PowerMockIgnore({ @@ -72,7 +73,7 @@ public class HttpClientUtilTest { PowerMockito.when(EntityUtils.toByteArray(Mockito.any(HttpEntity.class))).thenReturn(bytes); PowerMockito.when(httpclient.execute(Mockito.any(HttpGet.class))).thenReturn(response); HttpClientUtil.getInstance(); - String res = HttpClientUtil.get("http://localhost:80/user/read", headers()); + String res = HttpClientUtil.get("http://localhost:80/user/read", headers(), null); assertNotNull(res); } @@ -96,7 +97,7 @@ public class HttpClientUtilTest { HttpClientUtil.getInstance(); String res = HttpClientUtil.post( - "http://localhost:80/user/read", "{\"message\":\"success\"}", headers()); + "http://localhost:80/user/read", "{\"message\":\"success\"}", headers(), null); assertNotNull(res); } @@ -120,7 +121,7 @@ public class HttpClientUtilTest { Map<String, String> fields = new HashMap<>(); fields.put("message", "success"); HttpClientUtil.getInstance(); - String res = HttpClientUtil.postFormData("http://localhost:80/user/read", fields, headers()); + String res = HttpClientUtil.postFormData("http://localhost:80/user/read", fields, headers(), null); assertNotNull(res); } @@ -144,7 +145,7 @@ public class HttpClientUtilTest { HttpClientUtil.getInstance(); String res = HttpClientUtil.patch( - "http://localhost:80/user/read", "{\"message\":\"success\"}", headers()); + "http://localhost:80/user/read", "{\"message\":\"success\"}", headers(), null); assertNotNull(res); } @@ -166,7 +167,7 @@ public class HttpClientUtilTest { PowerMockito.when(EntityUtils.toByteArray(Mockito.any(HttpEntity.class))).thenReturn(bytes); PowerMockito.when(httpclient.execute(Mockito.any(HttpPatch.class))).thenReturn(response); HttpClientUtil.getInstance(); - String res = HttpClientUtil.delete("http://localhost:80/user/read", headers()); + String res = HttpClientUtil.delete("http://localhost:80/user/read", headers(), null); assertNotNull(res); } } diff --git a/core/platform-common/src/test/java/org/sunbird/sso/KeycloakBruteForceAttackUtilTest.java b/core/platform-common/src/test/java/org/sunbird/sso/KeycloakBruteForceAttackUtilTest.java index 5a1f97bafbf73605795b94bbfec8c456e69b4678..3633de1513e4ac6f8eb23cc6de58055364373611 100644 --- a/core/platform-common/src/test/java/org/sunbird/sso/KeycloakBruteForceAttackUtilTest.java +++ b/core/platform-common/src/test/java/org/sunbird/sso/KeycloakBruteForceAttackUtilTest.java @@ -34,9 +34,9 @@ public class KeycloakBruteForceAttackUtilTest { when(ProjectUtil.getConfigValue(Mockito.anyString())).thenReturn("anyString"); when(KeycloakUtil.getAdminAccessTokenWithoutDomain(Mockito.any(RequestContext.class))) .thenReturn("accessToken"); - when(HttpClientUtil.get(Mockito.anyString(), Mockito.anyMap())) + when(HttpClientUtil.get(Mockito.anyString(), Mockito.anyMap(), Mockito.any(RequestContext.class))) .thenReturn("{\"disabled\":true}"); - when(HttpClientUtil.delete(Mockito.anyString(), Mockito.anyMap())).thenReturn(""); + when(HttpClientUtil.delete(Mockito.anyString(), Mockito.anyMap(),Mockito.any(RequestContext.class))).thenReturn(""); } @Test diff --git a/core/platform-common/src/test/java/org/sunbird/sso/KeycloakUtilTest.java b/core/platform-common/src/test/java/org/sunbird/sso/KeycloakUtilTest.java index baf7e219e294250f3f266d83af52f17b4cbc7ec5..7f0d24b10b1887620a1319cdb9ac97034f2a832a 100644 --- a/core/platform-common/src/test/java/org/sunbird/sso/KeycloakUtilTest.java +++ b/core/platform-common/src/test/java/org/sunbird/sso/KeycloakUtilTest.java @@ -29,7 +29,7 @@ public class KeycloakUtilTest { public void setup() { PowerMockito.mockStatic(HttpClientUtil.class); PowerMockito.mockStatic(ProjectUtil.class); - when(HttpClientUtil.postFormData(Mockito.anyString(), Mockito.anyMap(), Mockito.anyMap())) + when(HttpClientUtil.postFormData(Mockito.anyString(), Mockito.anyMap(), Mockito.anyMap(), Mockito.any(RequestContext.class))) .thenReturn("{\"access_token\":\"accesstoken\"}"); when(ProjectUtil.getConfigValue(Mockito.anyString())).thenReturn("anyString"); } diff --git a/core/platform-common/src/test/java/org/sunbird/url/URLShortnerImplTest.java b/core/platform-common/src/test/java/org/sunbird/url/URLShortnerImplTest.java index 98c4f939a51fdd4498dac73417a814479dbbbc09..7292f0c962da9f88c7413d19f2e2ded66ad546e3 100644 --- a/core/platform-common/src/test/java/org/sunbird/url/URLShortnerImplTest.java +++ b/core/platform-common/src/test/java/org/sunbird/url/URLShortnerImplTest.java @@ -35,7 +35,7 @@ public class URLShortnerImplTest { @Test public void urlShortTest() { URLShortner shortner = new URLShortnerImpl(); - String url = shortner.shortUrl("https://staging.open-sunbird.org/"); + String url = shortner.shortUrl("https://staging.open-sunbird.org/", null); Assert.assertNotNull(url); } @@ -50,7 +50,7 @@ public class URLShortnerImplTest { } URLShortnerImpl shortnerImpl = new URLShortnerImpl(); - String url = shortnerImpl.getUrl(); + String url = shortnerImpl.getUrl(null); Assert.assertEquals(url, webUrl); } } diff --git a/core/platform-common/src/test/java/org/sunbird/util/ProjectUtilTest.java b/core/platform-common/src/test/java/org/sunbird/util/ProjectUtilTest.java index 6c2bee6ba8ca007052c949b08864c962ec85dce4..31b7db1a99553e94e683ce523af9e84263a5a68a 100644 --- a/core/platform-common/src/test/java/org/sunbird/util/ProjectUtilTest.java +++ b/core/platform-common/src/test/java/org/sunbird/util/ProjectUtilTest.java @@ -378,16 +378,6 @@ public class ProjectUtilTest extends BaseHttpTest { assertTrue(bool); } - @Test - public void testSendGetRequestSuccessWithEkStepBaseUrl() throws Exception { - String ekStepBaseUrl = System.getenv(JsonKey.EKSTEP_BASE_URL); - if (StringUtils.isBlank(ekStepBaseUrl)) { - ekStepBaseUrl = PropertiesCache.getInstance().getProperty(JsonKey.EKSTEP_BASE_URL); - } - String response = HttpClientUtil.get(ekStepBaseUrl + "/search/health", headers); - assertNotNull(response); - } - @Test public void testGetLmsUserIdSuccessWithoutFedUserId() { String userid = ProjectUtil.getLmsUserId("1234567890"); diff --git a/service/src/main/java/org/sunbird/actor/notification/BackGroundNotificationActor.java b/service/src/main/java/org/sunbird/actor/notification/BackGroundNotificationActor.java index aae6e1971f48a9ee713da46c1a6651b0b612fe5a..ae5151fc45f720aa5210bf13ddb41152735a4561 100644 --- a/service/src/main/java/org/sunbird/actor/notification/BackGroundNotificationActor.java +++ b/service/src/main/java/org/sunbird/actor/notification/BackGroundNotificationActor.java @@ -43,7 +43,7 @@ public class BackGroundNotificationActor extends BaseActor { headers.put("Content-type", "application/json"); headers.put("requestId", reqObj.getRequestId()); ProjectUtil.setTraceIdInHeader(headers, reqObj.getRequestContext()); - String response = HttpClientUtil.post(NOTIFICATION_SERVICE_URL, json, headers); + String response = HttpClientUtil.post(NOTIFICATION_SERVICE_URL, json, headers, reqObj.getRequestContext()); logger.info( reqObj.getRequestContext(), "BackGroundNotificationActor:callNotificationService :: Response =" + response); diff --git a/service/src/main/java/org/sunbird/actor/organisation/OrganisationBackgroundActor.java b/service/src/main/java/org/sunbird/actor/organisation/OrganisationBackgroundActor.java index 37d7df019c4d3af0382988a71c86a016bdcdb80f..d7c4e3356b8b775cb0c47534ea0d1683a5e0a1ef 100644 --- a/service/src/main/java/org/sunbird/actor/organisation/OrganisationBackgroundActor.java +++ b/service/src/main/java/org/sunbird/actor/organisation/OrganisationBackgroundActor.java @@ -84,7 +84,8 @@ public class OrganisationBackgroundActor extends BaseActor { + "/" + tagId, body, - header); + header, + context); logger.info( context, "OrganisationBackgroundActor:registertag ,call end with id and status = " diff --git a/service/src/main/java/org/sunbird/service/organisation/impl/OrgServiceImpl.java b/service/src/main/java/org/sunbird/service/organisation/impl/OrgServiceImpl.java index ca56e14f0ef9e922556e4a1024cb8f157f642d55..b7d4d5e038a94285e479bd4ab28afa693b63e513 100644 --- a/service/src/main/java/org/sunbird/service/organisation/impl/OrgServiceImpl.java +++ b/service/src/main/java/org/sunbird/service/organisation/impl/OrgServiceImpl.java @@ -171,7 +171,8 @@ public class OrgServiceImpl implements OrgService { (ekStepBaseUrl + PropertiesCache.getInstance().getProperty(JsonKey.EKSTEP_CHANNEL_REG_API_URL)), reqString, - headerMap); + headerMap, + context); logger.info(context, "end call for channel registration for org id ==" + req.get(JsonKey.ID)); } catch (Exception e) { logger.error( @@ -229,7 +230,8 @@ public class OrgServiceImpl implements OrgService { + "/" + req.get(JsonKey.ID), reqString, - headerMap); + headerMap, + context); logger.info( context, "end call for channel update for org id ==" + req.get(JsonKey.HASHTAGID)); } catch (Exception e) { diff --git a/service/src/main/java/org/sunbird/service/user/ResetPasswordService.java b/service/src/main/java/org/sunbird/service/user/ResetPasswordService.java index acd3133d26e77852d5d60e2f7710d50b27acbb79..fb5b423528541d7eb644a998626ec40cd0a456dd 100644 --- a/service/src/main/java/org/sunbird/service/user/ResetPasswordService.java +++ b/service/src/main/java/org/sunbird/service/user/ResetPasswordService.java @@ -32,8 +32,8 @@ public class ResetPasswordService { context); templateMap.put( - JsonKey.SET_PASSWORD_LINK, isUrlShortRequired ? urlShortner.shortUrl(url) : url); - return isUrlShortRequired ? urlShortner.shortUrl(url) : url; + JsonKey.SET_PASSWORD_LINK, isUrlShortRequired ? urlShortner.shortUrl(url,context) : url); + return isUrlShortRequired ? urlShortner.shortUrl(url, context) : url; } else { String url = @@ -43,8 +43,8 @@ public class ResetPasswordService { KeycloakRequiredActionLinkUtil.VERIFY_EMAIL, context); templateMap.put( - JsonKey.VERIFY_EMAIL_LINK, isUrlShortRequired ? urlShortner.shortUrl(url) : url); - return isUrlShortRequired ? urlShortner.shortUrl(url) : url; + JsonKey.VERIFY_EMAIL_LINK, isUrlShortRequired ? urlShortner.shortUrl(url, context) : url); + return isUrlShortRequired ? urlShortner.shortUrl(url, context) : url; } } diff --git a/service/src/main/java/org/sunbird/util/AdminUtilHandler.java b/service/src/main/java/org/sunbird/util/AdminUtilHandler.java index 6bfe6428934a40ee3f1b7089689056bf533b5968..cf3659321523bcc5452e5009300253ceae6f15e6 100644 --- a/service/src/main/java/org/sunbird/util/AdminUtilHandler.java +++ b/service/src/main/java/org/sunbird/util/AdminUtilHandler.java @@ -60,7 +60,8 @@ public class AdminUtilHandler { ProjectUtil.getConfigValue(JsonKey.ADMINUTIL_BASE_URL) + ProjectUtil.getConfigValue(JsonKey.ADMINUTIL_SIGN_ENDPOINT), body, - headers); + headers, + context); data = mapper.readValue(response, Map.class); if (MapUtils.isNotEmpty(data)) { data = (Map<String, Object>) data.get(JsonKey.RESULT); diff --git a/service/src/main/java/org/sunbird/util/FormApiUtilHandler.java b/service/src/main/java/org/sunbird/util/FormApiUtilHandler.java index 0e698bd80bfc89ccfdafff327931183a28ccb67a..0628daeb13f7c44f4f5e2b0e83657139c6edaa50 100644 --- a/service/src/main/java/org/sunbird/util/FormApiUtilHandler.java +++ b/service/src/main/java/org/sunbird/util/FormApiUtilHandler.java @@ -71,7 +71,8 @@ public class FormApiUtilHandler { ProjectUtil.getConfigValue(JsonKey.PORTAL_SERVICE_PORT) + ProjectUtil.getConfigValue(JsonKey.FORM_API_ENDPOINT), body, - headers); + headers, + context); if (StringUtils.isNotEmpty(response)) { data = mapper.readValue(response, Map.class); if (MapUtils.isNotEmpty(data)) { diff --git a/service/src/main/java/org/sunbird/util/contentstore/ContentStoreUtil.java b/service/src/main/java/org/sunbird/util/contentstore/ContentStoreUtil.java index bfefb08d50449c143eb9630d05b49a5c223c8338..34fca74a124e57026de06558a7836f0e1b5554f5 100644 --- a/service/src/main/java/org/sunbird/util/contentstore/ContentStoreUtil.java +++ b/service/src/main/java/org/sunbird/util/contentstore/ContentStoreUtil.java @@ -42,7 +42,7 @@ public class ContentStoreUtil { + ProjectUtil.getConfigValue(urlPath) + "/" + id; - String response = HttpClientUtil.get(requestUrl, headers); + String response = HttpClientUtil.get(requestUrl, headers, null); resultMap = mapper.readValue(response, Map.class); if (!((String) resultMap.get(JsonKey.RESPONSE_CODE)).equalsIgnoreCase(JsonKey.OK)) { diff --git a/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java b/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java index 8b79ec53bf1fc8ce8e8a69fc56f2abc443b72d6b..15b30fcc4798a37e82b6aefa8ef1b7e7776e043a 100644 --- a/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java +++ b/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java @@ -118,7 +118,7 @@ public class OrgManagementActorTest { basicRequestData = getBasicData(); PowerMockito.mockStatic(HttpClientUtil.class); - when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyMap())) + when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyMap(), Mockito.any(RequestContext.class))) .thenReturn("OK"); when(cassandraOperation.getAllRecords( diff --git a/service/src/test/java/org/sunbird/actor/organisation/OrganisationBackgroundActorTest.java b/service/src/test/java/org/sunbird/actor/organisation/OrganisationBackgroundActorTest.java index 4526c04803c1592875f204b555053b6d494004cc..4bbf53d9418ddbed1ae3cf821aeb9f9874d7db7d 100644 --- a/service/src/test/java/org/sunbird/actor/organisation/OrganisationBackgroundActorTest.java +++ b/service/src/test/java/org/sunbird/actor/organisation/OrganisationBackgroundActorTest.java @@ -25,6 +25,7 @@ import org.sunbird.keys.JsonKey; import org.sunbird.operations.ActorOperations; import org.sunbird.operations.OrganisationActorOperation; import org.sunbird.request.Request; +import org.sunbird.request.RequestContext; import org.sunbird.util.ProjectUtil; import org.sunbird.util.Util; import scala.concurrent.Promise; @@ -65,7 +66,7 @@ public class OrganisationBackgroundActorTest { .thenReturn("anyString"); PowerMockito.mockStatic(HttpClientUtil.class); - when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())) + when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject(), Mockito.any(RequestContext.class))) .thenReturn("anyStatus"); PowerMockito.mockStatic(EsClientFactory.class); diff --git a/service/src/test/java/org/sunbird/actor/user/ResetPasswordActorTest.java b/service/src/test/java/org/sunbird/actor/user/ResetPasswordActorTest.java index ac972398231dcd09e591e0a224876019995c68fd..52a332e2cf26c22cf8f1ef69b9305351028eaafb 100644 --- a/service/src/test/java/org/sunbird/actor/user/ResetPasswordActorTest.java +++ b/service/src/test/java/org/sunbird/actor/user/ResetPasswordActorTest.java @@ -102,7 +102,7 @@ public class ResetPasswordActorTest { @Before public void beforeEachTest() throws Exception { PowerMockito.mockStatic(HttpClientUtil.class); - when(HttpClientUtil.post(Mockito.anyString(),Mockito.anyString(),Mockito.anyMap())).thenReturn("{\"link\":\"success\"}"); + when(HttpClientUtil.post(Mockito.anyString(),Mockito.anyString(),Mockito.anyMap(), Mockito.any())).thenReturn("{\"link\":\"success\"}"); PowerMockito.mockStatic(ServiceFactory.class); cassandraOperation = mock(CassandraOperationImpl.class); PowerMockito.when(ServiceFactory.getInstance()).thenReturn(cassandraOperation); diff --git a/service/src/test/java/org/sunbird/service/user/ResetPasswordServiceTest.java b/service/src/test/java/org/sunbird/service/user/ResetPasswordServiceTest.java index 01d9b2127b09637af3198d6fe258b89bca458dc4..ae53f06649addc29385c438293c330e027061552 100644 --- a/service/src/test/java/org/sunbird/service/user/ResetPasswordServiceTest.java +++ b/service/src/test/java/org/sunbird/service/user/ResetPasswordServiceTest.java @@ -35,7 +35,7 @@ public class ResetPasswordServiceTest { @Test public void getUserRequiredActionLinkTestForVerifyEmailLink() throws Exception { PowerMockito.mockStatic(HttpClientUtil.class); - when(HttpClientUtil.post(Mockito.anyString(),Mockito.anyString(),Mockito.anyMap())).thenReturn("{\"link\":\"success\"}"); + when(HttpClientUtil.post(Mockito.anyString(),Mockito.anyString(),Mockito.anyMap(),Mockito.any(RequestContext.class))).thenReturn("{\"link\":\"success\"}"); PowerMockito.mockStatic(KeycloakUtil.class); when(KeycloakUtil.getAdminAccessToken(Mockito.any(RequestContext.class), Mockito.anyString())) @@ -53,7 +53,7 @@ public class ResetPasswordServiceTest { @Test public void getUserRequiredActionLinkTestForResetPasswordLink() throws Exception { PowerMockito.mockStatic(HttpClientUtil.class); - when(HttpClientUtil.post(Mockito.anyString(),Mockito.anyString(),Mockito.anyMap())).thenReturn("{\"link\":\"success\"}"); + when(HttpClientUtil.post(Mockito.anyString(),Mockito.anyString(),Mockito.anyMap(),Mockito.any(RequestContext.class))).thenReturn("{\"link\":\"success\"}"); PowerMockito.mockStatic(KeycloakUtil.class); when(KeycloakUtil.getAdminAccessToken(Mockito.any(RequestContext.class), Mockito.anyString())) diff --git a/service/src/test/java/org/sunbird/util/AdminUtilHandlerTest.java b/service/src/test/java/org/sunbird/util/AdminUtilHandlerTest.java index 96854c680364114d37610d3d6356bdeaa7c72286..1300c3058f811720b4535cde3f1fe5372cde06ac 100644 --- a/service/src/test/java/org/sunbird/util/AdminUtilHandlerTest.java +++ b/service/src/test/java/org/sunbird/util/AdminUtilHandlerTest.java @@ -20,6 +20,7 @@ import org.sunbird.http.HttpClientUtil; import org.sunbird.keys.JsonKey; import org.sunbird.model.adminutil.AdminUtilRequestData; import org.sunbird.model.adminutil.AdminUtilRequestPayload; +import org.sunbird.request.RequestContext; @RunWith(PowerMockRunner.class) @PrepareForTest({HttpClientUtil.class, AdminUtilHandlerTest.class}) @@ -51,7 +52,7 @@ public class AdminUtilHandlerTest { reqData.add(new AdminUtilRequestData("parentId", "childId1")); reqData.add(new AdminUtilRequestData("parentId", "childId2")); - when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())) + when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject(), Mockito.any())) .thenReturn( "{\"id\": \"ekstep.api.am.adminutil.sign.payload\",\"ver\": \"1.0\",\"ets\":1591589862198,\"params\": {\"status\": \"successful\",\"err\": null,\"errmsg\": null,\"msgid\": \"\",\"resmsgid\": \"328749cb-45e3-4b26-aea6-b7f4b97d548b\"}, \"result\": {\"data\": [{\"parentId\": \"parentId\", \"sub\":\"childId1\",\"token\":\"encryptedtoken1\"},{\"parentId\": \"parentId\",\"sub\": \"childId2\",\"token\":\"encryptedtoken2\"}]}}"); Map<String, Object> encryptedTokenList = @@ -72,7 +73,7 @@ public class AdminUtilHandlerTest { reqData.add(new AdminUtilRequestData("parentId", "childId1")); reqData.add(new AdminUtilRequestData("parentId", "childId2")); - when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())) + when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject(), Mockito.any())) .thenThrow(new RuntimeException("Exception Messsage")); try { Map<String, Object> encryptedTokenList = diff --git a/service/src/test/java/org/sunbird/util/FormApiUtilHandlerEmptyConfigTest.java b/service/src/test/java/org/sunbird/util/FormApiUtilHandlerEmptyConfigTest.java index 48d9943e2a3ab46ba53f7a0562419b9e2ae94c35..971f2654a38676a8dd0ee827ba99373f7118f6c8 100644 --- a/service/src/test/java/org/sunbird/util/FormApiUtilHandlerEmptyConfigTest.java +++ b/service/src/test/java/org/sunbird/util/FormApiUtilHandlerEmptyConfigTest.java @@ -34,7 +34,7 @@ public class FormApiUtilHandlerEmptyConfigTest { @Test public void testGetFormApiEmptyConfig() { - when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())) + when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject(), Mockito.any(RequestContext.class))) .thenReturn(""); Map<String, Object> dataConfigMap = FormApiUtil.getProfileConfig("locationCode", new RequestContext()); @@ -44,7 +44,7 @@ public class FormApiUtilHandlerEmptyConfigTest { @Test public void testGetFormApiEmptyResponseConfig() { - when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())) + when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject(), Mockito.any(RequestContext.class))) .thenReturn(getFormApiEmptyResponse()); Map<String, Object> dataConfigMap = FormApiUtil.getProfileConfig("locationCode", new RequestContext()); diff --git a/service/src/test/java/org/sunbird/util/FormApiUtilHandlerTest.java b/service/src/test/java/org/sunbird/util/FormApiUtilHandlerTest.java index c112b4708532dc1f6652f543e660450261687614..1d9cb647c573f66f28b0a308fab054c66de82c86 100644 --- a/service/src/test/java/org/sunbird/util/FormApiUtilHandlerTest.java +++ b/service/src/test/java/org/sunbird/util/FormApiUtilHandlerTest.java @@ -47,7 +47,7 @@ public class FormApiUtilHandlerTest { @Test public void testGetFormApiConfig() { - when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject())) + when(HttpClientUtil.post(Mockito.anyString(), Mockito.anyString(), Mockito.anyObject(), Mockito.any(RequestContext.class))) .thenReturn(getFormApiResponse()); Map<String, Object> dataConfigMap = FormApiUtil.getProfileConfig("locationCode", new RequestContext());