/** * Adds a query parameter to this request builder. If there was already a query * parameter with this name the values will be added. * <p> * The case sensitivity can be set by this builder's * {@linkplain SimpleRequest.Builder#Builder(String, String, boolean)} constructor. * * @param name the header name * @param values the values for this header * @return this builder */ public Builder withQueryParam(final String name, final String... values) { return withQueryParam(name, asList(values)); }
/** * Builds a {@link Request} for the OpenAPI validator out of the * original {@link MockHttpServletRequest}. * * @param originalRequest the original {@link MockHttpServletRequest} */ @Nonnull public static Request of(@Nonnull final MockHttpServletRequest originalRequest) { requireNonNull(originalRequest, "An original request is required"); final SimpleRequest.Builder builder = new SimpleRequest.Builder(originalRequest.getMethod(), originalRequest.getPathInfo()) .withBody(getBody(originalRequest)); list(originalRequest.getHeaderNames()) .forEach(header -> builder.withHeader(header, list(originalRequest.getHeaders(header)))); originalRequest.getParameterMap().forEach((key, value) -> builder.withQueryParam(key, value)); return builder.build(); }
/** * Builds a {@link Request} for the OpenAPI validator out of the * original {@link com.github.tomakehurst.wiremock.http.Request}. * * @param originalRequest the original {@link com.github.tomakehurst.wiremock.http.Request} */ @Nonnull public static Request of(@Nonnull final com.github.tomakehurst.wiremock.http.Request originalRequest) { requireNonNull(originalRequest, "An original request is required"); final URI uri = URI.create(originalRequest.getUrl()); final Map<String, QueryParameter> queryParameterMap = Urls.splitQuery(uri); final SimpleRequest.Builder builder = new SimpleRequest.Builder(originalRequest.getMethod().getName(), uri.getPath()) .withBody(originalRequest.getBodyAsString()); originalRequest.getHeaders().all().forEach(header -> builder.withHeader(header.key(), header.values())); queryParameterMap.forEach((key, value) -> builder.withQueryParam(key, value.values())); return builder.build(); } }
.forEach((key, value) -> { if (value instanceof List) { builder.withQueryParam(key, (List) value); } else if (value instanceof String) { builder.withQueryParam(key, (String) value); builder.withQueryParam(key, value); });