Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 54 additions & 26 deletions src/main/java/com/iemr/common/utils/RestTemplateUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,44 +10,72 @@
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import com.iemr.common.constant.Constants;

import jakarta.servlet.http.HttpServletRequest;

public class RestTemplateUtil {
private final static Logger logger = LoggerFactory.getLogger(RestTemplateUtil.class);

public static HttpEntity<Object> createRequestEntity(Object body, String authorization) {

ServletRequestAttributes servletRequestAttributes = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes());

ServletRequestAttributes servletRequestAttributes = ((ServletRequestAttributes) RequestContextHolder
.getRequestAttributes());
if (servletRequestAttributes == null) {
MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8");
headers.add(HttpHeaders.AUTHORIZATION, authorization);
return new HttpEntity<>(body, headers);
}
HttpServletRequest requestHeader = servletRequestAttributes.getRequest();
String jwtTokenFromCookie = null;

String jwtTokenFromCookie = extractJwttoken(requestHeader);

MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8");
if (null != UserAgentContext.getUserAgent()) {
headers.add(HttpHeaders.USER_AGENT, UserAgentContext.getUserAgent());
}
headers.add(HttpHeaders.AUTHORIZATION, authorization);
if (null != requestHeader.getHeader(Constants.JWT_TOKEN)) {
headers.add(Constants.JWT_TOKEN, requestHeader.getHeader(Constants.JWT_TOKEN));
}
if (null != jwtTokenFromCookie) {
headers.add(HttpHeaders.COOKIE, "Jwttoken=" + jwtTokenFromCookie);
}

return new HttpEntity<>(body, headers);
}

private static String extractJwttoken(HttpServletRequest requestHeader) {
String jwtTokenFromCookie = null;
try {
jwtTokenFromCookie = CookieUtil.getJwtTokenFromCookie(requestHeader);

} catch (Exception e) {
logger.error("Error while getting jwtToken from Cookie" + e.getMessage() );
}

MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8");
if(null != UserAgentContext.getUserAgent()) {
logger.info("Common-API getting User-Agent as : "+UserAgentContext.getUserAgent());
headers.add(HttpHeaders.USER_AGENT, UserAgentContext.getUserAgent());
}
headers.add(HttpHeaders.AUTHORIZATION, authorization);
if(null != requestHeader.getHeader("JwtToken")) {
headers.add("JwtToken",requestHeader.getHeader("JwtToken"));
}
if(null != jwtTokenFromCookie) {
headers.add(HttpHeaders.COOKIE, "Jwttoken=" + jwtTokenFromCookie);
}

return new HttpEntity<>(body, headers);
}

}
logger.error("Error while getting jwtToken from Cookie" + e.getMessage());
}
return jwtTokenFromCookie;
}

public static void getJwttokenFromHeaders(HttpHeaders headers) {
ServletRequestAttributes servletRequestAttributes = ((ServletRequestAttributes) RequestContextHolder
.getRequestAttributes());
if (servletRequestAttributes == null) {
return;
}
HttpServletRequest requestHeader = servletRequestAttributes.getRequest();
String jwtTokenFromCookie = extractJwttoken(requestHeader);
headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8");
if (null != UserAgentContext.getUserAgent()) {
headers.add(HttpHeaders.USER_AGENT, UserAgentContext.getUserAgent());
}
if (null != jwtTokenFromCookie) {
headers.add(HttpHeaders.COOKIE, Constants.JWT_TOKEN + "=" + jwtTokenFromCookie);
} else if (null != requestHeader.getHeader(Constants.JWT_TOKEN)) {
headers.add(Constants.JWT_TOKEN, requestHeader.getHeader(Constants.JWT_TOKEN));
}

}

}
31 changes: 8 additions & 23 deletions src/main/java/com/iemr/common/utils/http/HttpUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;

import com.iemr.common.utils.RestTemplateUtil;
import com.sun.jersey.multipart.FormDataBodyPart;
import com.sun.jersey.multipart.FormDataMultiPart;

Expand All @@ -54,43 +55,27 @@ public class HttpUtils {
// @Autowired
private HttpStatus status;
private final Logger logger = LoggerFactory.getLogger(this.getClass().getName());

// @Autowired(required = true)
// @Qualifier("hibernateCriteriaBuilder")
public HttpUtils() {
if (rest == null) {
rest = new RestTemplate();
headers = new HttpHeaders();
headers.add("Content-Type", "application/json");
}
}
// public HttpUtils() {
// if (rest == null) {
// rest = new RestTemplate();
// headers = new HttpHeaders();
// headers.add("Content-Type", "application/json");
// }
// }

// @Bean
// public HttpUtils httpUtils() {
// return new HttpUtils();
// }


public String get(String uri) {
String body;
RestTemplateUtil.getJwttokenFromHeaders(headers);
HttpEntity<String> requestEntity = new HttpEntity<String>("", headers);
ResponseEntity<String> responseEntity = rest.exchange(uri, HttpMethod.GET, requestEntity, String.class);
setStatus((HttpStatus) responseEntity.getStatusCode());
// if (status == HttpStatus.OK){
body = responseEntity.getBody();
// }else{
// responseEntity
// }

return body;
}

public ResponseEntity<String> getV1(String uri) throws URISyntaxException, MalformedURLException {
RestTemplateUtil.getJwttokenFromHeaders(headers);
HttpEntity<String> requestEntity = new HttpEntity<String>("", headers);
ResponseEntity<String> responseEntity = rest.exchange(uri, HttpMethod.GET, requestEntity, String.class);
return responseEntity;
Expand All @@ -107,6 +92,7 @@ public String get(String uri, HashMap<String, Object> header) {
} else {
headers.add("Content-Type", MediaType.APPLICATION_JSON);
}
RestTemplateUtil.getJwttokenFromHeaders(headers);
HttpEntity<String> requestEntity = new HttpEntity<String>("", headers);
ResponseEntity<String> responseEntity = rest.exchange(uri, HttpMethod.GET, requestEntity, String.class);
setStatus((HttpStatus) responseEntity.getStatusCode());
Expand All @@ -116,6 +102,7 @@ public String get(String uri, HashMap<String, Object> header) {

public String post(String uri, String json) {
String body;
RestTemplateUtil.getJwttokenFromHeaders(headers);
HttpEntity<String> requestEntity = new HttpEntity<String>(json, headers);
ResponseEntity<String> responseEntity = rest.exchange(uri, HttpMethod.POST, requestEntity, String.class);
setStatus((HttpStatus) responseEntity.getStatusCode());
Expand All @@ -129,9 +116,7 @@ public String post(String uri, String data, HashMap<String, Object> header) {
if (header.containsKey(headers.AUTHORIZATION)) {
headers.add(headers.AUTHORIZATION, header.get(headers.AUTHORIZATION).toString());
}

// headers.add("Content-Type", MediaType.APPLICATION_JSON);

RestTemplateUtil.getJwttokenFromHeaders(headers);
headers.add("Content-Type", MediaType.APPLICATION_JSON + ";charset=utf-8");
ResponseEntity<String> responseEntity = new ResponseEntity(HttpStatus.BAD_REQUEST);
HttpEntity<String> requestEntity;
Expand Down
Loading