@Override public RequestMethod getMethod() { return target.getMethod(); }
protected String formatRequest(Request request) { StringBuilder sb = new StringBuilder(); sb.append(request.getClientIp()) .append(" - ") .append(request.getMethod()) .append(" ") .append(request.getUrl()); if (request.isBrowserProxyRequest()) { sb.append(" (via browser proxy request)"); } sb.append("\n\n"); sb.append(request.getHeaders()); if (request.getBody() != null) { sb.append(request.getBodyAsString()).append("\n"); } return sb.toString(); }
public static HttpUriRequest getHttpRequestFor(ResponseDefinition response) { final RequestMethod method = response.getOriginalRequest().getMethod(); final String url = response.getProxyUrl(); return HttpClientFactory.getHttpRequestFor(method, url); }
private void respondTo(Request request, Response response) { try { if (response.wasConfigured()) { applyResponse(response, httpServletRequest, httpServletResponse); } else if (request.getMethod().equals(GET) && shouldForwardToFilesContext) { forwardToFilesContext(httpServletRequest, httpServletResponse, request); } else { httpServletResponse.sendError(HTTP_NOT_FOUND); } } catch (Exception e) { throwUnchecked(e); } } }
private static void addBodyIfPostPutOrPatch(HttpRequest httpRequest, ResponseDefinition response) throws UnsupportedEncodingException { Request originalRequest = response.getOriginalRequest(); if (originalRequest.getMethod().isOneOf(PUT, POST, PATCH)) { HttpEntityEnclosingRequest requestWithEntity = (HttpEntityEnclosingRequest) httpRequest; requestWithEntity.setEntity(buildEntityFrom(originalRequest)); } }
public static LoggedRequest createFrom(Request request) { return new LoggedRequest(request.getUrl(), request.getAbsoluteUrl(), request.getMethod(), request.getClientIp(), copyOf(request.getHeaders()), ImmutableMap.copyOf(request.getCookies()), request.isBrowserProxyRequest(), new Date(), request.getBody(), request.getParts() ); }
public static RequestLine fromRequest(final Request request) { URI url = URI.create(request.getUrl()); Map<String, QueryParameter> rawQuery = Urls.splitQuery(url); Map<String, ListOrSingle<String>> adaptedQuery = Maps.transformValues(rawQuery, TO_TEMPLATE_MODEL); return new RequestLine(request.getMethod(), request.getScheme(), request.getHost(), request.getPort(), request.getUrl(), adaptedQuery); }
/** * 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(); } }
/** * Returns a RequestPatternBuilder matching a given Request */ @Override public RequestPatternBuilder apply(Request request) { final RequestPatternBuilder builder = new RequestPatternBuilder(request.getMethod(), urlEqualTo(request.getUrl())); if (headers != null && !headers.isEmpty()) { for (Map.Entry<String, CaptureHeadersSpec> header : headers.entrySet()) { String headerName = header.getKey(); if (request.containsHeader(headerName)) { CaptureHeadersSpec spec = header.getValue(); StringValuePattern headerMatcher = new EqualToPattern(request.getHeader(headerName), spec.getCaseInsensitive()); builder.withHeader(headerName, headerMatcher); } } } byte[] body = request.getBody(); if (bodyPatternFactory != null && body != null && body.length > 0) { builder.withRequestBody(bodyPatternFactory.forRequest(request)); } return builder; } }
@Override public MatchResult match(Request request) { List<WeightedMatchResult> matchResults = new ArrayList<>(asList( weight(RequestPattern.this.url.match(request.getUrl()), 10.0), weight(RequestPattern.this.method.match(request.getMethod()), 3.0), weight(allHeadersMatchResult(request)), weight(allQueryParamsMatch(request)), weight(allCookiesMatch(request)), weight(allBodyPatternsMatch(request)), weight(allMultipartPatternsMatch(request)) )); if (hasInlineCustomMatcher) { matchResults.add(weight(customMatcher.match(request))); } return MatchResult.aggregateWeighted(matchResults); }
public List<DiffLine<?>> getLines(Map<String, RequestMatcherExtension> customMatcherExtensions) { ImmutableList.Builder<DiffLine<?>> builder = ImmutableList.builder(); DiffLine<RequestMethod> methodSection = new DiffLine<>("HTTP method", requestPattern.getMethod(), request.getMethod(), requestPattern.getMethod().getName()); builder.add(methodSection);
private RequestPattern buildRequestPatternFrom(Request request) { RequestPatternBuilder builder = newRequestPattern(request.getMethod(), urlEqualTo(request.getUrl())); if (!headersToMatch.isEmpty()) { for (HttpHeader header: request.getHeaders().all()) { if (headersToMatch.contains(header.caseInsensitiveKey())) { builder.withHeader(header.key(), equalTo(header.firstValue())); } } } if (request.isMultipart()) { for (Request.Part part : request.getParts()) { builder.withRequestBodyPart(valuePatternForPart(part)); } } else { String body = request.getBodyAsString(); if (!body.isEmpty()) { builder.withRequestBody(valuePatternForContentType(request)); } } return builder.build(); }