applyTemplatedResponseBody(newResponseDefBuilder, model, bodyTemplate); } else if (responseDefinition.specifiesBodyFile()) { Template filePathTemplate = uncheckedCompileTemplate(responseDefinition.getBodyFileName()); String compiledFilePath = uncheckedApplyTemplate(filePathTemplate, model); TextFile file = files.getTextFileNamed(compiledFilePath);
private void convertBodyFromFileIfNecessary(StubMapping mapping) { String bodyFileName = mapping.getResponse().getBodyFileName(); if (bodyFileName != null) { ResponseDefinitionBuilder responseDefinitionBuilder = ResponseDefinitionBuilder .like(mapping.getResponse()) .withBodyFile(null); String extension = substringAfterLast(bodyFileName, "."); String mimeType = getMimeType(mapping); if (ContentTypes.determineIsText(extension, mimeType)) { TextFile bodyFile = filesFileSource.getTextFileNamed(bodyFileName); responseDefinitionBuilder.withBody(bodyFile.readContentsAsString()); } else { BinaryFile bodyFile = filesFileSource.getBinaryFileNamed(bodyFileName); responseDefinitionBuilder.withBody(bodyFile.readContents()); } mapping.setResponse(responseDefinitionBuilder.build()); } }
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; }
BinaryFile bodyFile = fileSource.getBinaryFileNamed(responseDefinition.getBodyFileName()); responseBuilder.body(bodyFile); } else if (responseDefinition.specifiesBodyContent()) {