private OperationRequest buildRequest() { List<OperationRequestPart> parts = new ArrayList<>(); for (OperationRequestPartBuilder builder : this.partBuilders) { parts.add(builder.buildPart()); } return new OperationRequestFactory().create(this.requestUri, this.method, this.content, this.headers, this.parameters, parts, this.cookies); }
/** * Creates a new {@link OperationRequest}. The given {@code headers} will be augmented * to ensure that they always include a {@code Content-Length} header if the request * has any content and a {@code Host} header. * @param uri the request's uri * @param method the request method * @param content the content of the request * @param headers the request's headers * @param parameters the request's parameters * @param parts the request's parts * @param cookies the request's cookies * @return the {@code OperationRequest} */ public OperationRequest create(URI uri, HttpMethod method, byte[] content, HttpHeaders headers, Parameters parameters, Collection<OperationRequestPart> parts, Collection<RequestCookie> cookies) { return new StandardOperationRequest(uri, method, content, augmentHeaders(headers, uri, content), parameters, parts, cookies); }
@Override public OperationRequest preprocess(OperationRequest request) { return this.requestFactory.createFrom(request, removeHeaders(request.getHeaders())); }
/** * Creates a new {@link OperationRequest}. The given {@code headers} will be augmented * to ensure that they always include a {@code Content-Length} header if the request * has any content and a {@code Host} header. * @param uri the request's uri * @param method the request method * @param content the content of the request * @param headers the request's headers * @param parameters the request's parameters * @param parts the request's parts * @return the {@code OperationRequest} */ public OperationRequest create(URI uri, HttpMethod method, byte[] content, HttpHeaders headers, Parameters parameters, Collection<OperationRequestPart> parts) { return create(uri, method, content, headers, parameters, parts, Collections.<RequestCookie>emptyList()); }
private OperationPreprocessor maskPassword() { return new PasswordMaskingPreprocessor(); } private static class PasswordMaskingPreprocessor implements OperationPreprocessor { @Override public OperationRequest preprocess(OperationRequest request) { Parameters parameters = new Parameters(); parameters.putAll(request.getParameters()); parameters.set("password", "XXX"); return new OperationRequestFactory().create(request.getUri(), request.getMethod(), request.getContent(), request.getHeaders(), parameters, request.getParts()); } @Override public OperationResponse preprocess(OperationResponse response) { return response; } }
private HttpHeaders augmentHeaders(HttpHeaders originalHeaders, URI uri, byte[] content) { return new HttpHeadersHelper(originalHeaders) .addIfAbsent(HttpHeaders.HOST, createHostHeader(uri)) .setContentLengthHeader(content).getHeaders(); }
private OperationRequest createRequestWithContent(String content) { return this.requestFactory.create(URI.create("http://localhost"), HttpMethod.GET, content.getBytes(), new HttpHeaders(), new Parameters(), Collections.<OperationRequestPart>emptyList()); }
private static OperationRequest createRequest() { return new OperationRequestFactory().create(URI.create("http://localhost:8080"), null, null, new HttpHeaders(), null, null); }
private OperationRequest createRequestWithHeader(String name, String value) { HttpHeaders headers = new HttpHeaders(); headers.add(name, value); return this.requestFactory.create(URI.create("http://localhost"), HttpMethod.GET, new byte[0], headers, new Parameters(), Collections.<OperationRequestPart>emptyList()); }
@Override public OperationRequest preprocess(OperationRequest request) { Parameters parameters = new Parameters(); parameters.putAll(request.getParameters()); for (Modification modification : this.modifications) { modification.apply(parameters); } return this.requestFactory.createFrom(request, parameters); }
private OperationRequest createRequest(Parameters parameters) { return new OperationRequestFactory().create(URI.create("http://localhost:8080"), HttpMethod.GET, new byte[0], new HttpHeaders(), parameters, Collections.<OperationRequestPart>emptyList()); }
private OperationRequest createRequestWithUri(String uri) { return this.requestFactory.create(URI.create(uri), HttpMethod.GET, new byte[0], new HttpHeaders(), new Parameters(), Collections.<OperationRequestPart>emptyList()); }
@Override public OperationRequest preprocess(OperationRequest request) { byte[] modifiedContent = this.contentModifier.modifyContent(request.getContent(), request.getHeaders().getContentType()); return this.requestFactory.createFrom(request, modifiedContent); }
@Override public OperationRequest convert(FilterableRequestSpecification requestSpec) { return new OperationRequestFactory().create(URI.create(requestSpec.getURI()), HttpMethod.valueOf(requestSpec.getMethod()), extractContent(requestSpec), extractHeaders(requestSpec), extractParameters(requestSpec), extractParts(requestSpec), extractCookies(requestSpec)); }
private OperationRequest createRequestWithUri(String uri) { return this.requestFactory.create(URI.create(uri), HttpMethod.GET, new byte[0], new HttpHeaders(), new Parameters(), Collections.<OperationRequestPart>emptyList()); }
@Override public OperationRequest convert(ExchangeResult result) { HttpHeaders headers = extractRequestHeaders(result); return new OperationRequestFactory().create(result.getUrl(), result.getMethod(), result.getRequestBodyContent(), headers, extractParameters(result), extractRequestParts(result), extractCookies(headers)); }
private OperationRequest createRequestWithContent(String content) { return this.requestFactory.create(URI.create("http://localhost"), HttpMethod.GET, content.getBytes(), new HttpHeaders(), new Parameters(), Collections.<OperationRequestPart>emptyList()); }
@Override public OperationRequest preprocess(OperationRequest request) { UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUri(request.getUri()); if (this.scheme != null) { uriBuilder.scheme(this.scheme); } if (this.host != null) { uriBuilder.host(this.host); } if (this.port != null) { if (StringUtils.hasText(this.port)) { uriBuilder.port(this.port); } else { uriBuilder.port(null); } } URI modifiedUri = uriBuilder.build(true).toUri(); HttpHeaders modifiedHeaders = modify(request.getHeaders()); modifiedHeaders.set(HttpHeaders.HOST, modifiedUri.getHost() + ((modifiedUri.getPort() != -1) ? ":" + modifiedUri.getPort() : "")); return this.contentModifyingDelegate.preprocess(new OperationRequestFactory() .create(uriBuilder.build(true).toUri(), request.getMethod(), request.getContent(), modifiedHeaders, request.getParameters(), modify(request.getParts()), request.getCookies())); }
private OperationRequest createRequestWithHeader(String name, String value) { HttpHeaders headers = new HttpHeaders(); headers.add(name, value); return this.requestFactory.create(URI.create("http://localhost"), HttpMethod.GET, new byte[0], headers, new Parameters(), Collections.<OperationRequestPart>emptyList()); }
@Override public OperationRequest convert(MockHttpServletRequest mockRequest) { try { HttpHeaders headers = extractHeaders(mockRequest); Parameters parameters = extractParameters(mockRequest); List<OperationRequestPart> parts = extractParts(mockRequest); Collection<RequestCookie> cookies = extractCookies(mockRequest, headers); String queryString = mockRequest.getQueryString(); if (!StringUtils.hasText(queryString) && "GET".equals(mockRequest.getMethod())) { queryString = parameters.toQueryString(); } return new OperationRequestFactory().create( URI.create( getRequestUri(mockRequest) + (StringUtils.hasText(queryString) ? "?" + queryString : "")), HttpMethod.valueOf(mockRequest.getMethod()), mockRequest.getContentAsByteArray(), headers, parameters, parts, cookies); } catch (Exception ex) { throw new ConversionException(ex); } }