@Override public OperationRequest preprocess(OperationRequest request) { return this.requestFactory.createFrom(request, removeHeaders(request.getHeaders())); }
@Override public HttpHeaders getHeaders() { HttpHeaders filteredHeaders = new HttpHeaders(); for (Entry<String, List<String>> header : this.delegate.getHeaders().entrySet()) { if (allowedHeader(header)) { filteredHeaders.put(header.getKey(), header.getValue()); } } return HttpHeaders.readOnlyHttpHeaders(filteredHeaders); }
String getBasicAuthCredentials() { List<String> headerValue = this.delegate.getHeaders() .get(HttpHeaders.AUTHORIZATION); if (BasicAuthHeaderFilter.isBasicAuthHeader(headerValue)) { return BasicAuthHeaderFilter.decodeBasicAuthHeader(headerValue); } return null; }
private boolean includeParametersInUri(OperationRequest request) { return request.getMethod() == HttpMethod.GET || (request.getContent().length > 0 && !MediaType.APPLICATION_FORM_URLENCODED .isCompatibleWith(request.getHeaders().getContentType())); }
private boolean includeParametersInUri(OperationRequest request) { return request.getMethod() == HttpMethod.GET || (request.getContent().length > 0 && !MediaType.APPLICATION_FORM_URLENCODED .isCompatibleWith(request.getHeaders().getContentType())); }
private boolean includeParametersInUri(OperationRequest request) { return request.getMethod() == HttpMethod.GET || (request.getContent().length > 0 && !MediaType.APPLICATION_FORM_URLENCODED .isCompatibleWith(request.getHeaders().getContentType())); }
@Override public OperationRequest preprocess(OperationRequest request) { byte[] modifiedContent = this.contentModifier.modifyContent(request.getContent(), request.getHeaders().getContentType()); return this.requestFactory.createFrom(request, modifiedContent); }
private boolean includeParametersAsFormOptions(OperationRequest request) { return request.getMethod() != HttpMethod.GET && (request.getContent().length == 0 || !MediaType.APPLICATION_FORM_URLENCODED .isCompatibleWith(request.getHeaders().getContentType())); }
@Test public void modifyRequestHeaders() { OperationRequest request = this.requestFactory.create( URI.create("http://localhost"), HttpMethod.GET, new byte[0], getHttpHeaders(), new Parameters(), Collections.<OperationRequestPart>emptyList()); OperationRequest preprocessed = this.preprocessor.preprocess(request); assertThat(preprocessed.getHeaders().size()).isEqualTo(2); assertThat(preprocessed.getHeaders()).containsEntry("a", Arrays.asList("alpha")); assertThat(preprocessed.getHeaders()).containsEntry("Host", Arrays.asList("localhost")); }
private boolean requiresFormEncodingContentTypeHeader(OperationRequest request) { return request.getHeaders().get(HttpHeaders.CONTENT_TYPE) == null && isPutOrPost(request) && (!request.getParameters().isEmpty() && !includeParametersInUri(request)); }
@Test public void urisInRequestHeadersCanBeModified() { OperationRequest processed = this.preprocessor.host("api.example.com") .preprocess(createRequestWithHeader("Foo", "http://locahost:12345")); assertThat(processed.getHeaders().getFirst("Foo")) .isEqualTo("http://api.example.com:12345"); assertThat(processed.getHeaders().getFirst("Host")).isEqualTo("api.example.com"); }
@Test public void contentLengthIsUpdated() { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setContentLength(7); OperationRequest request = this.requestFactory.create( URI.create("http://localhost"), HttpMethod.GET, "content".getBytes(), httpHeaders, new Parameters(), Collections.<OperationRequestPart>emptyList()); OperationRequest preprocessed = this.preprocessor.preprocess(request); assertThat(preprocessed.getHeaders().getContentLength()).isEqualTo(8L); }
@Test public void requestWithHeaders() throws Exception { OperationRequest request = createOperationRequest(MockMvcRequestBuilders .get("/foo").header("a", "alpha", "apple").header("b", "bravo")); assertThat(request.getUri()).isEqualTo(URI.create("http://localhost/foo")); assertThat(request.getMethod()).isEqualTo(HttpMethod.GET); assertThat(request.getHeaders()).containsEntry("a", Arrays.asList("alpha", "apple")); assertThat(request.getHeaders()).containsEntry("b", Arrays.asList("bravo")); }
@Test public void requestUriHostCanBeModified() { this.preprocessor.host("api.example.com"); OperationRequest processed = this.preprocessor .preprocess(createRequestWithUri("http://api.foo.com:12345")); assertThat(processed.getUri()) .isEqualTo(URI.create("http://api.example.com:12345")); assertThat(processed.getHeaders().getFirst(HttpHeaders.HOST)) .isEqualTo("api.example.com:12345"); }
@Test public void requestUriHostCanBeModified() { this.preprocessor.host("api.example.com"); OperationRequest processed = this.preprocessor .preprocess(createRequestWithUri("http://api.foo.com:12345")); assertThat(processed.getUri()) .isEqualTo(URI.create("http://api.example.com:12345")); assertThat(processed.getHeaders().getFirst(HttpHeaders.HOST)) .isEqualTo("api.example.com:12345"); }
/** * Creates a new {@code OperationRequest} based on the given {@code original} but with * the given {@code newContent}. If the original request had a {@code Content-Length} * header it will be modified to match the length of the new content. * @param original the original request * @param newContent the new content * @return the new request with the new content */ public OperationRequest createFrom(OperationRequest original, byte[] newContent) { return new StandardOperationRequest(original.getUri(), original.getMethod(), newContent, getUpdatedHeaders(original.getHeaders(), newContent), original.getParameters(), original.getParts(), original.getCookies()); }
@Test public void requestUriPortCanBeRemoved() { this.preprocessor.removePort(); OperationRequest processed = this.preprocessor .preprocess(createRequestWithUri("http://api.example.com:12345")); assertThat(processed.getUri()).isEqualTo(URI.create("http://api.example.com")); assertThat(processed.getHeaders().getFirst(HttpHeaders.HOST)) .isEqualTo("api.example.com"); }
@Test public void requestUriPortCanBeModified() { this.preprocessor.port(23456); OperationRequest processed = this.preprocessor .preprocess(createRequestWithUri("http://api.example.com:12345")); assertThat(processed.getUri()) .isEqualTo(URI.create("http://api.example.com:23456")); assertThat(processed.getHeaders().getFirst(HttpHeaders.HOST)) .isEqualTo("api.example.com:23456"); }
@Test public void requestUriPortCanBeRemoved() { this.preprocessor.removePort(); OperationRequest processed = this.preprocessor .preprocess(createRequestWithUri("http://api.example.com:12345")); assertThat(processed.getUri()).isEqualTo(URI.create("http://api.example.com")); assertThat(processed.getHeaders().getFirst(HttpHeaders.HOST)) .isEqualTo("api.example.com"); }
@Test public void requestUriPortCanBeModified() { this.preprocessor.port(23456); OperationRequest processed = this.preprocessor .preprocess(createRequestWithUri("http://api.example.com:12345")); assertThat(processed.getUri()) .isEqualTo(URI.create("http://api.example.com:23456")); assertThat(processed.getHeaders().getFirst(HttpHeaders.HOST)) .isEqualTo("api.example.com:23456"); }