private void writeContentUsingParameters(OperationRequest request, List<String> lines) { Parameters uniqueParameters = request.getParameters() .getUniqueParameters(request.getUri()); String queryString = uniqueParameters.toQueryString(); if (StringUtils.hasText(queryString)) { lines.add(String.format("-d '%s'", queryString)); } }
private String getRequestBody(OperationRequest request) { StringWriter httpRequest = new StringWriter(); PrintWriter writer = new PrintWriter(httpRequest); String content = request.getContentAsString(); if (StringUtils.hasText(content)) { writer.printf("%n%s", content); } else if (isPutOrPost(request)) { if (request.getParts().isEmpty()) { String queryString = request.getParameters().toQueryString(); if (StringUtils.hasText(queryString)) { writer.println(); writer.print(queryString); } } else { writeParts(request, writer); } } return httpRequest.toString(); }
private String getPath(OperationRequest request) { String path = request.getUri().getRawPath(); String queryString = request.getUri().getRawQuery(); Parameters uniqueParameters = request.getParameters() .getUniqueParameters(request.getUri()); if (!uniqueParameters.isEmpty() && includeParametersInUri(request)) { if (StringUtils.hasText(queryString)) { queryString = queryString + "&" + uniqueParameters.toQueryString(); } else { queryString = uniqueParameters.toQueryString(); } } if (StringUtils.hasText(queryString)) { path = path + "?" + queryString; } return path; }
@Test public void queryStringForNoParameters() { assertThat(this.parameters.toQueryString()).isEqualTo(""); }
private String getUrl(OperationRequest request) { Parameters uniqueParameters = request.getParameters() .getUniqueParameters(request.getUri()); if (!uniqueParameters.isEmpty() && includeParametersInUri(request)) { return String.format("'%s%s%s'", request.getUri(), StringUtils.hasText(request.getUri().getRawQuery()) ? "&" : "?", uniqueParameters.toQueryString()); } return String.format("'%s'", request.getUri()); }
@Test public void queryStringForParameterWithEmptyValue() { this.parameters.add("a", ""); assertThat(this.parameters.toQueryString()).isEqualTo("a="); }
@Test public void queryStringForParameterThatRequiresEncoding() { this.parameters.add("a", "alpha&bravo"); assertThat(this.parameters.toQueryString()).isEqualTo("a=alpha%26bravo"); }
@Test public void queryStringForParameterWithNullValue() { this.parameters.add("a", null); assertThat(this.parameters.toQueryString()).isEqualTo("a="); }
private String getUrl(Operation operation) { OperationRequest request = operation.getRequest(); Parameters uniqueParameters = request.getParameters() .getUniqueParameters(operation.getRequest().getUri()); if (!uniqueParameters.isEmpty() && includeParametersInUri(request)) { return String.format("'%s%s%s'", request.getUri(), StringUtils.hasText(request.getUri().getRawQuery()) ? "&" : "?", uniqueParameters.toQueryString()); } return String.format("'%s'", request.getUri()); }
@Test public void queryStringForSingleParameter() { this.parameters.add("a", "b"); assertThat(this.parameters.toQueryString()).isEqualTo("a=b"); }
@Test public void queryStringForMutipleParameters() { this.parameters.add("a", "alpha"); this.parameters.add("b", "bravo"); assertThat(this.parameters.toQueryString()).isEqualTo("a=alpha&b=bravo"); }
@Test public void queryStringForSingleParameterWithMultipleValues() { this.parameters.add("a", "b"); this.parameters.add("a", "c"); assertThat(this.parameters.toQueryString()).isEqualTo("a=b&a=c"); }
@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); } }
@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); } }