private Response applyTransformations(Request request, ResponseDefinition responseDefinition, Response response, List<ResponseTransformer> transformers) { if (transformers.isEmpty()) { return response; } ResponseTransformer transformer = transformers.get(0); Response newResponse = transformer.applyGlobally() || responseDefinition.hasTransformer(transformer) ? transformer.transform(request, response, fileSource, responseDefinition.getTransformerParameters()) : response; return applyTransformations(request, responseDefinition, newResponse, transformers.subList(1, transformers.size())); }
private ResponseDefinition applyTransformations(Request request, ResponseDefinition responseDefinition, List<ResponseDefinitionTransformer> transformers) { if (transformers.isEmpty()) { return responseDefinition; } ResponseDefinitionTransformer transformer = transformers.get(0); ResponseDefinition newResponseDef = transformer.applyGlobally() || responseDefinition.hasTransformer(transformer) ? transformer.transform(request, responseDefinition, rootFileSource.child(FILES_ROOT), responseDefinition.getTransformerParameters()) : responseDefinition; return applyTransformations(request, newResponseDef, transformers.subList(1, transformers.size())); }
public static ResponseDefinitionBuilder like(ResponseDefinition responseDefinition) { ResponseDefinitionBuilder builder = new ResponseDefinitionBuilder(); builder.status = responseDefinition.getStatus(); builder.statusMessage = responseDefinition.getStatusMessage(); builder.headers = responseDefinition.getHeaders() != null ? newArrayList(responseDefinition.getHeaders().all()) : Lists.<HttpHeader>newArrayList(); builder.binaryBody = responseDefinition.getByteBodyIfBinary(); builder.stringBody = responseDefinition.getBody(); builder.base64Body = responseDefinition.getBase64Body(); builder.bodyFileName = responseDefinition.getBodyFileName(); builder.fixedDelayMilliseconds = responseDefinition.getFixedDelayMilliseconds(); builder.delayDistribution = responseDefinition.getDelayDistribution(); builder.chunkedDribbleDelay = responseDefinition.getChunkedDribbleDelay(); builder.proxyBaseUrl = responseDefinition.getProxyBaseUrl(); builder.fault = responseDefinition.getFault(); builder.responseTransformerNames = responseDefinition.getTransformers(); builder.transformerParameters = responseDefinition.getTransformerParameters() != null ? Parameters.from(responseDefinition.getTransformerParameters()) : Parameters.empty(); builder.wasConfigured = responseDefinition.isFromConfiguredStub(); return builder; }