@Override public ResponseDefinition apply(LoggedResponse response) { final ResponseDefinitionBuilder responseDefinitionBuilder = new ResponseDefinitionBuilder() .withStatus(response.getStatus()); if (response.getBody() != null && response.getBody().length > 0) { byte[] body = bodyDecompressedIfRequired(response); String mimeType = response.getMimeType(); Charset charset = response.getCharset(); if (determineIsTextFromMimeType(mimeType)) { responseDefinitionBuilder.withBody(Strings.stringFromBytes(body, charset)); } else { responseDefinitionBuilder.withBody(body); } } if (response.getHeaders() != null) { responseDefinitionBuilder.withHeaders(withoutContentEncodingAndContentLength(response)); } return responseDefinitionBuilder.build(); }
private byte[] bodyDecompressedIfRequired(LoggedResponse response) { if (response.getHeaders().getHeader(CONTENT_ENCODING).containsValue("gzip")) { return Gzip.unGzip(response.getBody()); } return response.getBody(); }
ServeEvent event1 = getAllServeEvents().get(1); assertNull(event1.getRequest().getHeader("If-None-Match")); assertEquals(200, event1.getResponse().getStatus()); ServeEvent event0 = getAllServeEvents().get(0); assertEquals(null, event0.getRequest().getHeader("If-None-Match")); assertEquals(200, event0.getResponse().getStatus());
/** * Retrieve body as a String encoded in the charset in the "Content-Type" header, or, if that's not present, the * default character set (UTF-8) * * @return Encoded string */ @JsonProperty("body") public String getBodyAsString() { if (body == null) { return ""; } return Strings.stringFromBytes(body, getCharset()); }
private HttpHeaders withoutContentEncodingAndContentLength(LoggedResponse response) { return new HttpHeaders(filter(response.getHeaders().all(), new Predicate<HttpHeader>() { public boolean apply(HttpHeader header) { return !EXCLUDED_HEADERS.contains(header.caseInsensitiveKey()); } })); } }
public ServeEvent complete(Response response, int processTimeMillis) { return new ServeEvent(id, request, stubMapping, responseDefinition, LoggedResponse.from(response), false, new Timing((int) response.getInitialDelay(), processTimeMillis)); }
public static LoggedResponse from(Response response) { return new LoggedResponse( response.getStatus(), response.getHeaders() == null || response.getHeaders().all().isEmpty() ? null : response.getHeaders(), response.getBody(), response.getFault() ); }
ServeEvent event1 = getAllServeEvents().get(1); assertNull(event1.getRequest().getHeader("If-None-Match")); assertEquals(200, event1.getResponse().getStatus()); ServeEvent event0 = getAllServeEvents().get(0); assertEquals("tag0", event0.getRequest().getHeader("If-None-Match")); assertEquals(status, event0.getResponse().getStatus());