/** * Generates a task name for the request. * @param request * @return a task name */ static String generateTaskName(final Request<?> request) { return request.getBaseUriTemplate() + " " + OperationNameGenerator.generate(request.getMethod(), request.getMethodName()); }
private static Optional<String> getOpOutName(Request<?> request) { if (request.getMethod() == ResourceMethod.ACTION) { return Optional.of((String)request.getQueryParamsObjects().get(RestConstants.ACTION_PARAM)); } else if (request.getMethod() == ResourceMethod.FINDER) { return Optional.of((String)request.getQueryParamsObjects().get(RestConstants.QUERY_TYPE_PARAM)); } else { return Optional.empty(); } }
public static RequestGroup fromRequest(final Request<?> request, int maxBatchSize) { switch (request.getMethod()) { case GET: return new GetRequestGroup(request, maxBatchSize); case BATCH_GET: return new GetRequestGroup(request, maxBatchSize); default: throw new IllegalArgumentException("Can't create RequestGroup for request method: " + request.getMethod() + ", batching for this method must be disabled"); } }
final ResourceMethod method = request.getMethod(); final String resource = request.getBaseUriTemplate(); final String name = request.getMethodName();
@Override public void onSuccess(ProtocolVersion protocolVersion) { URI requestUri = RestliUriBuilderUtil.createUriBuilder(request, _uriPrefix, protocolVersion).build(); final ResourceMethod method = request.getMethod(); final String methodName = request.getMethodName(); addDisruptContext(request.getBaseUriTemplate(), method, methodName, requestContext); sendRestRequestImpl(requestContext, requestUri, method, input != null ? RequestBodyTransformer.transform(request, protocolVersion) : null, request.getHeaders(), CookieUtil.encodeCookies(request.getCookies()), methodName, protocolVersion, request.getRequestOptions(), callback); } });
RequestConfigCacheKey(Optional<InboundRequestContext> inbound, Request<?> outbound) { StringJoiner sj = new StringJoiner(":"); for (String pathComponent: URIParamUtils.extractPathComponentsFromUriTemplate(outbound.getBaseUriTemplate())) { sj.add(pathComponent); } _outboundName = sj.toString(); _inboundName = inbound.map(r -> r.getName()); _outboundOp = outbound.getMethod(); _outboundOpName = getOpOutName(outbound); _inboundOp = inbound.map(r -> r.getMethod()); _inboundOpName = _inboundOp.flatMap(method -> getOpInName(inbound, method)); }
@Override public void onSuccess(ProtocolVersion protocolVersion) { URI requestUri = RestliUriBuilderUtil.createUriBuilder(request, _uriPrefix, protocolVersion).build(); final ResourceMethod method = request.getMethod(); final String methodName = request.getMethodName(); addDisruptContext(request.getBaseUriTemplate(), method, methodName, requestContext); sendStreamRequestImpl(requestContext, requestUri, method, input != null ? RequestBodyTransformer.transform(request, protocolVersion) : null, request.getHeaders(), CookieUtil.encodeCookies(request.getCookies()), methodName, protocolVersion, request.getRequestOptions(), request.getStreamingAttachments(), callback); } });
private <T> RequestContext createRequestContext(Request<T> request) { RequestContext requestContext = new RequestContext(); requestContext.putLocalAttr("method", request.getMethod()); return requestContext; }
private <T> RequestContext createRequestContext(Request<T> request) { RequestContext requestContext = new RequestContext(); requestContext.putLocalAttr("method", request.getMethod()); return requestContext; }
private void verifyRequestContext(Request<?> request) { assertTrue(_capturingRestClient.getCapturedRequestContexts().containsKey(request)); assertNotNull(_capturingRestClient.getCapturedRequestContexts().get(request).getLocalAttr("method")); assertEquals(_capturingRestClient.getCapturedRequestContexts().get(request).getLocalAttr("method"), request.getMethod()); }
private <T> BatchRequest<T> safeCastRequest(Request<T> request) { if (!(request instanceof BatchRequest) || request.getMethod() == ResourceMethod.BATCH_CREATE ) { throw new UnsupportedOperationException("Unsupported batch request for scatter-gather: "+ request.getClass()); } else { return (BatchRequest<T>)request; } }
private static ResourceMethodDescriptor buildResourceMethodDescriptorForRestMethod(Request<?> request) { return ResourceMethodDescriptor.createForRestful(request.getMethod(), null, null); }
/** * {@inheritDoc} */ @Override public <T> boolean needScatterGather(Request<T> request) { if (!BATCHING_STRATEGY_METHODS.contains(request.getMethod())) { return false; } final String serviceName = request.getServiceName(); try { return _uriMapper.needScatterGather(serviceName); } catch (ServiceUnavailableException e) { log.error("Unable to determine scatter-gather capability for service :" + serviceName + " and treat as unsupported!", e); return false; } }
Map<URI, Set<K>> mappedKeys) if (request.getMethod() == ResourceMethod.BATCH_CREATE)
private static IndividualRequest toIndividualRequest(Request<?> request, IndividualRequestMap dependantRequests) throws RestLiEncodingException { //TODO: Hardcoding RESTLI_PROTOCOL_2_0_0 for now. We need to refactor this code later to get protocol version using the mechanism similar to // RestClient.getProtocolVersionForService() ProtocolVersion protocolVersion = AllProtocolVersions.RESTLI_PROTOCOL_2_0_0.getProtocolVersion(); String relativeUrl = getRelativeUrl(request, protocolVersion); IndividualRequest individualRequest = new IndividualRequest(); individualRequest.setRelativeUrl(relativeUrl); individualRequest.setMethod(request.getMethod().getHttpMethod().name()); individualRequest.setHeaders(new StringMap(request.getHeaders())); List<HttpCookie> cookies = request.getCookies(); if (cookies != null && !cookies.isEmpty()) { throw new IllegalArgumentException(String.format("Cookies for individual request '%s' MUST be added at the envelope request level", relativeUrl)); } individualRequest.setBody(getBody(request, protocolVersion), SetMode.IGNORE_NULL); individualRequest.setDependentRequests(dependantRequests); return individualRequest; }
switch (request.getMethod())