GeneratedHttpRequest.Builder requestBuilder = GeneratedHttpRequest.builder().invocation(invocation) .caller(caller); String requestMethod = null; if (r != null) { requestMethod = r.getMethod(); requestBuilder.fromHttpRequest(r); } else { requestMethod = tryFindHttpMethod(invocation.getInvokable()).get(); requestBuilder.method(requestMethod); requestBuilder.filters(getFiltersIfAnnotated(invocation)); if (stripExpectHeader) { requestBuilder.filter(new StripExpectHeader()); requestBuilder.filter(new ConnectionCloseHeader()); requestBuilder.headers(filterOutContentHeaders(headers)); requestBuilder.endpoint(uriBuilder.build(convertUnsafe(tokenValues), /*encodePath=*/encodeFullPath)); requestBuilder.payload(payload); GeneratedHttpRequest request = requestBuilder.build();
GeneratedHttpRequest.Builder requestBuilder = GeneratedHttpRequest.builder().invocation(invocation) .caller(caller); String requestMethod = null; if (r != null) { requestMethod = r.getMethod(); requestBuilder.fromHttpRequest(r); } else { requestMethod = tryFindHttpMethod(invocation.getInvokable()).get(); requestBuilder.method(requestMethod); requestBuilder.filters(getFiltersIfAnnotated(invocation)); if (stripExpectHeader) { requestBuilder.filter(new StripExpectHeader()); requestBuilder.filter(new ConnectionCloseHeader()); requestBuilder.headers(filterOutContentHeaders(headers)); requestBuilder.endpoint(uriBuilder.build(convertUnsafe(tokenValues), /*encodePath=*/encodeFullPath)); requestBuilder.payload(payload); GeneratedHttpRequest request = requestBuilder.build();
GeneratedHttpRequest.Builder requestBuilder = GeneratedHttpRequest.builder().invocation(invocation) .caller(caller); String requestMethod = null; if (r != null) { requestMethod = r.getMethod(); requestBuilder.fromHttpRequest(r); } else { requestMethod = tryFindHttpMethod(invocation.getInvokable()).get(); requestBuilder.method(requestMethod); requestBuilder.filters(getFiltersIfAnnotated(invocation)); if (stripExpectHeader) { requestBuilder.filter(new StripExpectHeader()); requestBuilder.filter(new ConnectionCloseHeader()); requestBuilder.headers(filterOutContentHeaders(headers)); requestBuilder.endpoint(uriBuilder.build(convertUnsafe(tokenValues), /*encodePath=*/encodeFullPath)); requestBuilder.payload(payload); GeneratedHttpRequest request = requestBuilder.build();
GeneratedHttpRequest.Builder requestBuilder = GeneratedHttpRequest.builder().invocation(invocation) .caller(caller); String requestMethod = null; if (r != null) { requestMethod = r.getMethod(); requestBuilder.fromHttpRequest(r); } else { requestMethod = tryFindHttpMethod(invocation.getInvokable()).get(); requestBuilder.method(requestMethod); requestBuilder.filters(getFiltersIfAnnotated(invocation)); if (stripExpectHeader) { requestBuilder.filter(new StripExpectHeader()); requestBuilder.headers(filterOutContentHeaders(headers)); requestBuilder.endpoint(uriBuilder.build(convertUnsafe(tokenValues))); requestBuilder.payload(payload); GeneratedHttpRequest request = requestBuilder.build();
GeneratedHttpRequest.Builder requestBuilder = GeneratedHttpRequest.builder().invocation(invocation) .caller(caller); String requestMethod = null; if (r != null) { requestMethod = r.getMethod(); requestBuilder.fromHttpRequest(r); } else { requestMethod = tryFindHttpMethod(invocation.getInvokable()).get(); requestBuilder.method(requestMethod); requestBuilder.filters(getFiltersIfAnnotated(invocation)); requestBuilder.headers(filterOutContentHeaders(headers)); requestBuilder.endpoint(uriBuilder.build(convertUnsafe(tokenValues))); requestBuilder.payload(payload); GeneratedHttpRequest request = requestBuilder.build();
GeneratedHttpRequest.Builder requestBuilder = GeneratedHttpRequest.builder().invocation(invocation) .caller(caller); String requestMethod = null; if (r != null) { requestMethod = r.getMethod(); requestBuilder.fromHttpRequest(r); } else { requestMethod = tryFindHttpMethod(invocation.getInvokable()).get(); requestBuilder.method(requestMethod); requestBuilder.filters(getFiltersIfAnnotated(invocation)); requestBuilder.headers(filterOutContentHeaders(headers)); requestBuilder.endpoint(uriBuilder.build(convertUnsafe(tokenValues))); requestBuilder.payload(payload); GeneratedHttpRequest request = requestBuilder.build();
@Test void testPutObjectWithChunkedUpload() { Invocation invocation = Invocation.create( method(S3Client.class, "putObject", String.class, S3Object.class, PutObjectOptions[].class), ImmutableList.<Object>of(BUCKET_NAME)); byte[] content = make65KPayload().getBytes(Charset.forName("UTF-8")); HttpRequest putObject = GeneratedHttpRequest.builder().invocation(invocation) .method("PUT") .endpoint("https://" + BUCKET_NAME + ".s3.cn-north-1.amazonaws.com.cn/" + OBJECT_NAME) .addHeader(HttpHeaders.HOST, BUCKET_NAME + ".s3.cn-north-1.amazonaws.com.cn") .addHeader("x-amz-storage-class", "REDUCED_REDUNDANCY") .build(); Payload payload = Payloads.newInputStreamPayload(new ByteArrayInputStream(content)); payload.getContentMetadata().setContentLength((long) content.length); payload.getContentMetadata().setContentType("text/plain"); putObject.setPayload(payload); HttpRequest filtered = filter(temporaryCredentials).filter(putObject); assertEquals(filtered.getFirstHeaderOrNull("Authorization"), PUT_OBJECT_AUTHORIZATION); assertEquals(filtered.getPayload().getClass(), ChunkedUploadPayload.class); InputStream is = null; try { is = filtered.getPayload().openStream(); assertEquals(base16().lowerCase().encode(hash(is)), CHUKED_UPLOAD_PAYLOAD_SHA256); } catch (IOException e) { fail("open stream error", e); } finally { Closeables2.closeQuietly(is); } }
@Test void testPutObjectSignature() { Invocation invocation = Invocation.create(method(S3Client.class, "putObject", String.class, S3Object.class, PutObjectOptions[].class), ImmutableList.<Object>of(BUCKET_NAME)); Payload payload = Payloads.newStringPayload(PUT_OBJECT_CONTENT); payload.getContentMetadata().setContentType("text/plain"); HttpRequest putObject = GeneratedHttpRequest.builder().method("PUT") .invocation(invocation) .endpoint("https://" + BUCKET_NAME + ".s3.cn-north-1.amazonaws.com.cn/" + OBJECT_NAME) .addHeader(HttpHeaders.HOST, BUCKET_NAME + ".s3.cn-north-1.amazonaws.com.cn") .addHeader("x-amz-storage-class", "REDUCED_REDUNDANCY") .payload(payload) .build(); HttpRequest filtered = filter(temporaryCredentials).filter(putObject); assertEquals(filtered.getFirstHeaderOrNull("Authorization"), PUT_OBJECT_RESULT); }
@Test public void testOverrideMethodVersion() { Properties props = new Properties(); props.setProperty(API_VERSION_PREFIX + "named:get", "namedversion"); props.setProperty(API_VERSION_PREFIX + "VersionedApi.noName", "noNameversion"); ApiVersionFilter filter = new ApiVersionFilter(config, filterStringsBoundToInjectorByName(props)); HttpRequest request = GeneratedHttpRequest.builder().method("GET").endpoint("http://localhost") .invocation(noName).addQueryParam("api-version", "original", "original2").build(); HttpRequest filtered = filter.filter(request); assertEquals(filtered.getEndpoint().getQuery(), "api-version=noNameversion"); request = GeneratedHttpRequest.builder().method("GET").endpoint("http://localhost").invocation(named) .addQueryParam("api-version", "original", "original2").build(); filtered = filter.filter(request); assertEquals(filtered.getEndpoint().getQuery(), "api-version=namedversion"); }
public static Builder builder() { return new Builder(); }
public Builder fromGeneratedHttpRequest(GeneratedHttpRequest in) { return super.fromHttpRequest(in).invocation(in.invocation).caller(in.getCaller().orNull()); }
public Builder toBuilder() { return new Builder().fromGeneratedHttpRequest(this); }
@Test void testListBucketFunnyCharactersSignature() { Invocation invocation = Invocation.create(method(S3Client.class, "listBucket", String.class, ListBucketOptions[].class), // Simulating ListBucketOptions.Builder.withPrefix("foo%2Fbar") with manual endpoint: ImmutableList.<Object>of(BUCKET_NAME, new ListBucketOptions[0])); HttpRequest getObject = GeneratedHttpRequest.builder().method("GET") .invocation(invocation) .endpoint("https://" + BUCKET_NAME + ".s3.cn-north-1.amazonaws.com.cn/?delimiter=/&prefix=foo%252Fbar") .addHeader(HttpHeaders.HOST, BUCKET_NAME + ".s3.cn-north-1.amazonaws.com.cn") .build(); HttpRequest filtered = filter(temporaryCredentials).filter(getObject); assertEquals(filtered.getFirstHeaderOrNull("Authorization"), LIST_BUCKET_RESULT); }
public static Builder builder() { return new Builder(); }
public static Builder builder() { return new Builder(); }
public Builder fromGeneratedHttpRequest(GeneratedHttpRequest in) { return super.fromHttpRequest(in).invocation(in.invocation).caller(in.getCaller().orNull()); }
public Builder fromGeneratedHttpRequest(GeneratedHttpRequest in) { return super.fromHttpRequest(in).invocation(in.invocation).caller(in.getCaller().orNull()); }
public Builder toBuilder() { return new Builder().fromGeneratedHttpRequest(this); }
public static Builder builder() { return new Builder(); }
public Builder toBuilder() { return new Builder().fromGeneratedHttpRequest(this); }