private RestResponse fetchGetResponse(RestRequestBuilder requestBuilder, String timeoutStr) throws InterruptedException, ExecutionException { requestBuilder.setMethod(GET); requestBuilder.setHeader(RestMessageHeaders.X_VOLD_REQUEST_TIMEOUT_MS, timeoutStr); requestBuilder.setHeader(RestMessageHeaders.X_VOLD_REQUEST_ORIGIN_TIME_MS, String.valueOf(System.currentTimeMillis())); if(this.routingTypeCode != null) { requestBuilder.setHeader(RestMessageHeaders.X_VOLD_ROUTING_TYPE_CODE, this.routingTypeCode); } if(this.zoneId != INVALID_ZONE_ID) { requestBuilder.setHeader(RestMessageHeaders.X_VOLD_ZONE_ID, String.valueOf(this.zoneId)); } RestRequest request = requestBuilder.build(); Future<RestResponse> f = client.restRequest(request); // This will block return f.get(); }
public String getStoreClientConfigString(List<String> storeNames, String coordinatorUrl) { try { // Create the REST request StringBuilder URIStringBuilder = new StringBuilder().append(coordinatorUrl) .append(URL_SEPARATOR) .append(STORE_CLIENT_CONFIG_OPS) .append(URL_SEPARATOR) .append(Joiner.on(",") .join(storeNames)); RestRequestBuilder requestBuilder = new RestRequestBuilder(new URI(URIStringBuilder.toString())); String timeoutStr = Long.toString(this.config.getTimeoutConfig() .getOperationTimeout(VoldemortOpCode.GET_OP_CODE)); requestBuilder.setMethod(requestType.GET.toString()); requestBuilder.setHeader(RestMessageHeaders.X_VOLD_REQUEST_TIMEOUT_MS, timeoutStr); requestBuilder = setCommonRequestHeader(requestBuilder); RestRequest request = requestBuilder.build(); Future<RestResponse> future = client.restRequest(request); // This will block RestResponse response = future.get(); ByteString entity = response.getEntity(); return entity.asString("UTF-8"); } catch(Exception e) { if(e.getCause() instanceof RestException) { return ((RestException) e.getCause()).getResponse().getEntity().asString("UTF-8"); } handleRequestAndResponseException(e); } return null; }
.getOperationTimeout(VoldemortOpCode.GET_OP_CODE)); requestBuilder.setMethod(requestType.DELETE.toString()); requestBuilder.setHeader(RestMessageHeaders.X_VOLD_REQUEST_TIMEOUT_MS, timeoutStr); requestBuilder = setCommonRequestHeader(requestBuilder);
+ keyArgs.toString())); rb.setMethod(GET); rb.setHeader("Accept", MULTIPART_CONTENT_TYPE); String timeoutStr = Long.toString(this.config.getTimeoutConfig()
requestBuilder.setMethod(requestType.POST.toString()); requestBuilder.setEntity(payload); requestBuilder.setHeader(CONTENT_TYPE, "binary");
+ getName() + "/" + base64Key)); rb.setMethod(DELETE); rb.setHeader(CONTENT_LENGTH, "0"); String timeoutStr = Long.toString(this.config.getTimeoutConfig()
rb.setMethod(POST); rb.setEntity(payload); rb.setHeader(CONTENT_TYPE, "binary");
expected.setMethod("PUT"); expected.setHeader(RestConstants.HEADER_RESTLI_PROTOCOL_VERSION, protocolVersion); expected.setHeader(RestConstants.HEADER_RESTLI_REQUEST_METHOD, verb.toLowerCase());
@Test(dataProvider = "requestCompressionData") public void testRequestCompressionRules(CompressionConfig requestCompressionConfig, CompressionOption requestCompressionOverride, boolean headerShouldBePresent) throws CompressionException, URISyntaxException { ClientCompressionFilter clientCompressionFilter = new ClientCompressionFilter(EncodingType.SNAPPY.getHttpName(), requestCompressionConfig, ACCEPT_COMPRESSIONS, new CompressionConfig(Integer.MAX_VALUE), Collections.<String>emptyList()); // The entity should be compressible for this test. int original = 100; byte[] entity = new byte[original]; Arrays.fill(entity, (byte)'A'); RestRequest restRequest = new RestRequestBuilder(new URI(URI)).setMethod(RestMethod.POST).setEntity(entity).build(); int compressed = EncodingType.SNAPPY.getCompressor().deflate(new ByteArrayInputStream(entity)).length; RequestContext context = new RequestContext(); context.putLocalAttr(R2Constants.REQUEST_COMPRESSION_OVERRIDE, requestCompressionOverride); int entityLength = headerShouldBePresent ? compressed : original; String expectedContentEncoding = headerShouldBePresent ? EncodingType.SNAPPY.getHttpName() : null; clientCompressionFilter.onRestRequest(restRequest, context, Collections.<String, String>emptyMap(), new HeaderCaptureFilter(HttpConstants.CONTENT_ENCODING, expectedContentEncoding, entityLength)); }
RestRequestBuilder builder = new RestRequestBuilder(uri).setMethod(method.getHttpMethod().toString());
/** * @param method of the HttpRequest ({@link com.linkedin.r2.message.rest.RestMethod}) * @param uri full URI of the request */ public RestRequest buildRestRequest(String method, URI uri) { RestRequestBuilder requestBuilder = new RestRequestBuilder(uri); requestBuilder.setMethod(method); requestBuilder.setHeader("X-RestLi-Protocol-Version", "2.0.0"); return requestBuilder.build(); }
rb.setMethod(req.getMethod());
private void readReqLine(RestRequestBuilder builder, InputStream in) throws IOException { builder.setMethod(readUntil(SP_CHAR, in)); builder.setURI(URI.create(readUntil(SP_CHAR, in))); readIgnore(HTTP_1_1, in); readIgnoreNewLine(in); }
requestBuilder.setHeader(HEADER_METHOD_OVERRIDE, requestBuilder.getMethod()); requestBuilder.setHeader(CONTENT_LENGTH, Integer.toString(requestBuilder.getEntity().length())); requestBuilder.setMethod(RestMethod.POST);
builder.setMethod(nettyRequest.method().name()); for (Map.Entry<String, String> e : nettyRequest.headers())
private static RestRequest createSyntheticRequest(RestRequest envelopeRequest, IndividualRequest individualRequest) throws MimeTypeParseException, IOException { URI uri = URI.create(individualRequest.getRelativeUrl()); ByteString entity = getBodyAsByteString(individualRequest); return new RestRequestBuilder(uri) .setMethod(individualRequest.getMethod()) .setHeaders(individualRequest.getHeaders()) .setCookies(envelopeRequest.getCookies()) .setEntity(entity) .build(); }
RestRequestBuilder builder = new RestRequestBuilder(uri).setMethod(method.getHttpMethod().toString());
requestBuilder.setMethod(request.getMethod().getHttpMethod().name());
private RestRequest buildMultiplexedRequest(MultiplexedRequest multiplexedRequest) throws IOException { URI requestUri = new MultiplexerUriBuilder(_uriPrefix).build(); RestRequestBuilder requestBuilder = new RestRequestBuilder(requestUri).setMethod(HttpMethod.POST.toString()); addAcceptHeaders(requestBuilder, multiplexedRequest.getRequestOptions().getAcceptTypes(), false); final DataMap multiplexedPayload = multiplexedRequest.getContent().data(); final ContentType type = resolveContentType( requestBuilder, multiplexedPayload, multiplexedRequest.getRequestOptions().getContentType()); assert (type != null); requestBuilder.setHeader(RestConstants.HEADER_CONTENT_TYPE, type.getHeaderKey()); requestBuilder.setEntity(type.getCodec().mapToBytes(multiplexedPayload)); requestBuilder.setHeader(RestConstants.HEADER_RESTLI_PROTOCOL_VERSION, AllProtocolVersions.RESTLI_PROTOCOL_2_0_0.getProtocolVersion().toString()); return requestBuilder.build(); }
private RestRequest buildRestRequest(URI uri, ResourceMethod method, DataMap dataMap, Map<String, String> headers, List<String> cookies, ProtocolVersion protocolVersion, ContentType contentType, List<ContentType> acceptTypes, boolean acceptResponseAttachments) throws Exception { RestRequestBuilder requestBuilder = new RestRequestBuilder(uri).setMethod(method.getHttpMethod().toString()); requestBuilder.setHeaders(headers); requestBuilder.setCookies(cookies); addAcceptHeaders(requestBuilder, acceptTypes, acceptResponseAttachments); final ContentType type = resolveContentType(requestBuilder, dataMap, contentType); if (type != null) { requestBuilder.setHeader(RestConstants.HEADER_CONTENT_TYPE, type.getHeaderKey()); // Use unsafe wrap to avoid copying the bytes when request builder creates ByteString. requestBuilder.setEntity(ByteString.unsafeWrap(type.getCodec().mapToBytes(dataMap))); } addProtocolVersionHeader(requestBuilder, protocolVersion); if (method.getHttpMethod() == HttpMethod.POST) { requestBuilder.setHeader(RestConstants.HEADER_RESTLI_REQUEST_METHOD, method.toString()); } return requestBuilder.build(); }