private IRequest buildRequest(Request requestConfig, Map<String, Object> templateDataObjects) throws ITemplatingEngine.TemplateEngineException { String path = requestConfig.getPath().trim(); if (!path.startsWith(SLASH_CHAR) && !path.isEmpty()) { path = SLASH_CHAR + path; } URI targetUri = URI.create(targetServerUri + templateValues(path, templateDataObjects)); String requestBody = templateValues(requestConfig.getBody(), templateDataObjects); var method = Method.valueOf(requestConfig.getMethod().toUpperCase()); log.info("targetUri: {}", targetUri); log.info("method: {}", method); log.info("body: {}", requestBody); IRequest request = httpClient.newRequest(targetUri, method). setBodyEntity(requestBody, UTF_8, requestConfig.getContentType()); Map<String, String> headers = requestConfig.getHeaders(); for (String headerName : headers.keySet()) { request.setHttpHeader(headerName, templateValues(headers.get(headerName), templateDataObjects)); } Map<String, String> queryParams = requestConfig.getQueryParams(); for (String queryParam : queryParams.keySet()) { request.setQueryParam(queryParam, templateValues(queryParams.get(queryParam), templateDataObjects)); } return request; }
.setUserAgent(AI_LABS_USER_AGENT) .setTimeout(EDDI_TIMEOUT, TimeUnit.MILLISECONDS) .setBodyEntity(jsonRequestBody, ENCODING, MediaType.APPLICATION_JSON) .send(); log.debug("response: {}", httpResponse.getContentAsString());
.setUserAgent(AI_LABS_USER_AGENT) .setTimeout(EDDI_TIMEOUT, MILLISECONDS) .setBodyEntity(jsonRequestBody, ENCODING, MediaType.APPLICATION_JSON) .send(); log.debug("response: {}", httpResponse.getContentAsString());
@Override public ConversationDataResponse doExternalCall(URI url, ConversationDataRequest request, long timeoutInMillis) { ConversationDataResponse dataResponse = new ConversationDataResponse(); try { String jsonRequestBody = jsonSerialization.serialize(request); IResponse httpResponse = httpClient.newRequest(url, IHttpClient.Method.POST) .setUserAgent(AI_LABS_USER_AGENT) .setTimeout(timeoutInMillis, TimeUnit.MILLISECONDS) .setBodyEntity(jsonRequestBody, ENCODING, MediaType.APPLICATION_JSON) .send(); dataResponse.setHttpCode(httpResponse.getHttpCode()); dataResponse.setHeader(httpResponse.getHttpHeader()); ConversationDataResponseHolder responseHolder = jsonSerialization.deserialize(httpResponse.getContentAsString(), ConversationDataResponseHolder.class); dataResponse.setConversationMemorySnapshot(responseHolder.getConversationMemorySnapshot()); } catch (IRequest.HttpRequestException | IOException e) { log.error(e.getLocalizedMessage(), e); } return dataResponse; } }