@Override public void onComplete(final Result result) { final Response response = result.getResponse(); final String content = getContentAsString(); try { completeListener.onComplete(new IResponse() { @Override public String getContentAsString() { return content; } @Override public int getHttpCode() { return response.getStatus(); } @Override public String getHttpCodeMessage() { return response.getReason(); } @Override public Map<String, String> getHttpHeader() { return convertHeaderToMap(response.getHeaders()); } }); } catch (IResponse.HttpResponseException e) { log.error(e.getLocalizedMessage(), e); } } };
@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; } }
@Override public IRequest newRequest(URI uri, Method method) { Request request = httpClient.newRequest(uri).method(method.name()); return new RequestWrapper(uri, request); }
IResponse httpResponse = httpClient.newRequest(uri, IHttpClient.Method.POST) .setUserAgent(AI_LABS_USER_AGENT) .setTimeout(EDDI_TIMEOUT, TimeUnit.MILLISECONDS) .setBodyEntity(jsonRequestBody, ENCODING, MediaType.APPLICATION_JSON) .send(); log.debug("response: {}", httpResponse.getContentAsString()); final List<String> output = getOutputText(httpResponse.getContentAsString()); final String state = getConversationState(httpResponse.getContentAsString()); if (state != null && !state.equals("READY")) { conversationIdCache.remove(senderId);
templateDataObjects.put(batchRequest.getIterationObjectName(), iterationObject); request = buildRequest(call.getRequest(), templateDataObjects); request.send(r -> { request.send(r -> { IResponse response = request.send(); log.info("Request: " + request.toString()); if (response.getHttpCode() != 200) { String message = "HttpCall (%s) didn't return http code 200, instead %s."; log.warn(String.format(message, call.getName(), response.getHttpCode())); log.warn("Error Msg:" + response.getHttpCodeMessage()); if (response.getHttpCode() == 200 && call.isSaveResponse()) { final String responseBody = response.getContentAsString(); String actualContentType = response.getHttpHeader().get(CONTENT_TYPE); if (actualContentType != null) { actualContentType = actualContentType.split(";")[0]; runPostResponse(memory, call, templateDataObjects, response.getHttpCode());
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; }
@Override public IResponse send() throws HttpRequestException { final FutureResponseListener listener = new FutureResponseListener(request, maxLength); request.send(listener); try { final ContentResponse response = listener.get(); return new IResponse() { @Override public String getContentAsString() { return listener.getContentAsString(); } @Override public int getHttpCode() { return response.getStatus(); } @Override public String getHttpCodeMessage() { return response.getReason(); } @Override public Map<String, String> getHttpHeader() { return convertHeaderToMap(response.getHeaders()); } }; } catch (InterruptedException | ExecutionException e) { listener.cancel(true); throw new HttpRequestException(e.getLocalizedMessage(), e); } }
public void init() { URI uri = RestUtilities.createURI(apiServerURI, "/botstore/bots/descriptors"); try { IResponse httpResponse = httpClient.newRequest(uri, IHttpClient.Method.GET) .setUserAgent(AI_LABS_USER_AGENT) .setTimeout(EDDI_TIMEOUT, TimeUnit.MILLISECONDS) .send(); List<String> botids = extractBotIdsFromResponse(httpResponse.getContentAsString()); for (String botId : botids) { Integer version = getLatestDeployedBotVersion(botId);
IResponse httpResponse = httpClient.newRequest(uri, IHttpClient.Method.POST) .setUserAgent(AI_LABS_USER_AGENT) .setTimeout(EDDI_TIMEOUT, MILLISECONDS) .setBodyEntity(jsonRequestBody, ENCODING, MediaType.APPLICATION_JSON) .send(); log.debug("response: {}", httpResponse.getContentAsString()); final List<Output> outputs = getOutputText(httpResponse.getContentAsString()); final List<Map<String, String>> quickReplies = getQuickReplies(httpResponse.getContentAsString()); final String state = getConversationState(httpResponse.getContentAsString()); if (state != null && !state.equals("READY")) { conversationIdCache.remove(senderId);