@Override public void onSuccess(Response<BatchKVResponse<K, EntityResponse<RT>>> responseToBatch) { final ProtocolVersion version = ProtocolVersionUtil.extractProtocolVersion(responseToBatch.getHeaders()); batch.entries().stream() .forEach(entry -> { try { RestRequestBatchKey rrbk = entry.getKey(); Request request = rrbk.getRequest(); if (request instanceof GetRequest) { successGet((GetRequest) request, responseToBatch, batchGet, entry, version); } else if (request instanceof BatchGetKVRequest) { successBatchGetKV((BatchGetKVRequest) request, responseToBatch, entry, version); } else if (request instanceof BatchGetRequest) { successBatchGet((BatchGetRequest) request, responseToBatch, entry, version); } else if (request instanceof BatchGetEntityRequest) { successBatchGetEntity((BatchGetEntityRequest) request, responseToBatch, entry, version); } else { entry.getValue().getPromise().fail(unsupportedGetRequestType(request)); } } catch (RemoteInvocationException e) { entry.getValue().getPromise().fail(e); } }); }
public ResponseImpl(Response<?> origin, T entity) { this(origin.getStatus(), origin.getHeaders(), origin.getCookies()); _entity = entity; }
@Override public Response<IdEntityResponse<K, V>> decodeResponse(RestResponse restResponse) throws RestLiDecodingException { final Response<IdEntityResponse<K, V>> rawResponse = super.decodeResponse(restResponse); final Map<String, String> modifiableHeaders = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER); modifiableHeaders.putAll(rawResponse.getHeaders()); modifiableHeaders.remove(RestConstants.HEADER_ID); modifiableHeaders.remove(RestConstants.HEADER_RESTLI_ID); return new ResponseImpl<IdEntityResponse<K, V>>(rawResponse.getStatus(), modifiableHeaders, rawResponse.getCookies(), rawResponse.getEntity(), rawResponse.getError()); }
private static Map<String, String> inheritHeaders(IndividualResponse individualResponse, Response<?> envelopeResponse) { Map<String, String> envelopeHeaders = HeaderUtil.removeHeaders(envelopeResponse.getHeaders(), HeaderUtil.NONINHERITABLE_RESPONSE_HEADERS); return HeaderUtil.mergeHeaders(envelopeHeaders, individualResponse.getHeaders()); }
@Override public Response<EmptyRecord> decodeResponse(RestResponse restResponse) throws RestLiDecodingException { final Response<EmptyRecord> rawResponse = super.decodeResponse(restResponse); // ResponseImpl will make the headers unmodifiable final Map<String, String> modifiableHeaders = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER); modifiableHeaders.putAll(rawResponse.getHeaders()); // remove ID header to prevent user to access the weakly typed ID modifiableHeaders.remove(RestConstants.HEADER_ID); modifiableHeaders.remove(RestConstants.HEADER_RESTLI_ID); return new ResponseImpl<EmptyRecord>(rawResponse.getStatus(), modifiableHeaders, rawResponse.getCookies(), rawResponse.getEntity(), rawResponse.getError()); }
@Override public Response<IdResponse<K>> decodeResponse(RestResponse restResponse) throws RestLiDecodingException { final Response<IdResponse<K>> rawResponse = super.decodeResponse(restResponse); // ResponseImpl will make the headers unmodifiable final Map<String, String> modifiableHeaders = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER); modifiableHeaders.putAll(rawResponse.getHeaders()); // remove ID header to prevent user to access the weakly typed ID modifiableHeaders.remove(RestConstants.HEADER_ID); modifiableHeaders.remove(RestConstants.HEADER_RESTLI_ID); return new ResponseImpl<IdResponse<K>>(rawResponse.getStatus(), modifiableHeaders, rawResponse.getCookies(), rawResponse.getEntity(), rawResponse.getError()); }
private void notifyAggregatedCallback(Response<MultiplexedResponseContent> response) { MultiplexedResponse muxResponse = new MultiplexedResponse(response.getStatus(), response.getHeaders()); _aggregatedCallback.onSuccess(muxResponse); } }