@Override public void filterResponse(HttpResponse response, HttpMessageContents contents, HttpMessageInfo messageInfo) { for (ResponseFilterRule rule: ruleList) { if(rule.getEnable()) { if (contents.isText() && messageInfo.getUrl().contains(rule.getUrl())) { String originContent = contents.getTextContents(); if (originContent != null) { contents.setTextContents(contents.getTextContents().replaceAll( rule.getReplaceRegex(), rule.getReplaceContent())); } } } } } });
@Override public void filterResponse(HttpResponse httpResponse, HttpMessageContents httpMessageContents, HttpMessageInfo httpMessageInfo) { if (shouldInjectJavascriptPredicate.test(httpMessageInfo.getOriginalRequest())) { httpMessageContents.setTextContents(injectionCode + httpMessageContents.getTextContents()); } } }
@Override public void filterResponse(HttpResponse httpResponse, HttpMessageContents httpMessageContents, HttpMessageInfo httpMessageInfo) { logger.debug(replayingState.getSubstitutions().toString()); Optional<String> substitutionsInjectionOptional = getSubstitutionEmittingCode(); if (shouldInjectJavascriptPredicate.test(httpMessageInfo.getOriginalRequest())) { httpMessageContents.setTextContents(injectionCode + substitutionsInjectionOptional.orElse("") + httpMessageContents.getTextContents()); } replayingState.removeHttpRequestFromQueue(httpMessageInfo.getOriginalRequest()); replayingState.signalizeIfNoHttpQueriesInQueue(); }
@Override public void filterResponse(HttpResponse response, HttpMessageContents contents, HttpMessageInfo messageInfo) { if (rewrites.isEmpty()) { return; } String reqUrl = messageInfo.getOriginalUrl(); for (RewriteItem rewriteItem : rewrites) { if (reqUrl.matches(rewriteItem.getHost())) { // headers rewrite LOGGER.debug("Rewrite rule will be applied for host: ".concat(reqUrl)); applyHeaders(response, rewriteItem.getHeaders()); // body rewrite String content = contents.getTextContents(); content.replaceAll(rewriteItem.getRegex(), rewriteItem.getReplacement()); contents.setTextContents(content); } } }
@Override public HttpResponse filterRequest(HttpRequest rq, HttpMessageContents contents, HttpMessageInfo messageInfo) { if (rewrites.isEmpty()) { return null; } String reqUrl = rq.getUri(); for (RewriteItem rewriteItem : rewrites) { if(reqUrl.matches(rewriteItem.getHost())) { // headers rewrite LOGGER.debug("Rewrite rule will be applied for host: ".concat(reqUrl)); rq = applyHeaders(rq, rewriteItem.getHeaders()); // body rewrite String content = contents.getTextContents(); content.replaceAll(rewriteItem.getRegex(), rewriteItem.getReplacement()); contents.setTextContents(content); } } return null; }