@Override public String getBodyAsString() { return target.getBodyAsString(); }
@Override public EqualToPattern forRequest(Request request) { return new EqualToPattern(request.getBodyAsString(), caseInsensitive); } }
@Override public EqualToJsonPattern forRequest(Request request) { return new EqualToJsonPattern(request.getBodyAsString(), ignoreArrayOrder, ignoreExtraElements); } }
@Override public EqualToXmlPattern forRequest(Request request) { return new EqualToXmlPattern(request.getBodyAsString()); } }
private StringValuePattern valuePatternForContentType(Request request) { String contentType = request.getHeader("Content-Type"); if (contentType != null) { if (contentType.contains("json")) { return equalToJson(request.getBodyAsString(), true, true); } else if (contentType.contains("xml")) { return equalToXml(request.getBodyAsString()); } } return equalTo(request.getBodyAsString()); }
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(); }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { StubMapping newMapping = StubMapping.buildFrom(request.getBodyAsString()); admin.addStubMapping(newMapping); return ResponseDefinitionBuilder.jsonResponse(newMapping, HTTP_CREATED); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { StubMapping newMapping = StubMapping.buildFrom(request.getBodyAsString()); admin.addStubMapping(newMapping); return ResponseDefinition.created(); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { StringValuePattern pattern = Json.read(request.getBodyAsString(), StringValuePattern.class); ListStubMappingsResult stubMappings = admin.findAllStubsByMetadata(pattern); return ResponseDefinition.okForJson(stubMappings); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { StringValuePattern pattern = Json.read(request.getBodyAsString(), StringValuePattern.class); admin.removeStubsByMetadata(pattern); return ResponseDefinition.okEmptyJson(); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { StubMapping removeMapping = StubMapping.buildFrom(request.getBodyAsString()); admin.removeStubMapping(removeMapping); return ResponseDefinition.ok(); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { StubMapping stubMapping = StubMapping.buildFrom(request.getBodyAsString()); admin.editStubMapping(stubMapping); return ResponseDefinition.noContent(); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { LoggedRequest loggedRequest = Json.read(request.getBodyAsString(), LoggedRequest.class); FindNearMissesResult nearMissesResult = admin.findTopNearMissesFor(loggedRequest); return ResponseDefinition.okForJson(nearMissesResult); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { RequestPattern requestPattern = Json.read(request.getBodyAsString(), RequestPattern.class); FindNearMissesResult nearMissesResult = admin.findTopNearMissesFor(requestPattern); return ResponseDefinition.okForJson(nearMissesResult); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { GlobalSettings newSettings = Json.read(request.getBodyAsString(), GlobalSettings.class); admin.updateGlobalSettings(newSettings); return ResponseDefinition.ok(); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { RecordSpec recordSpec = request.getBody().length == 0 ? RecordSpec.DEFAULTS : Json.read(request.getBodyAsString(), RecordSpec.class); SnapshotRecordResult result = admin.snapshotRecord(recordSpec); return jsonResponse(result, HTTP_OK); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { RecordSpec recordSpec = Json.read(request.getBodyAsString(), RecordSpec.class); try { admin.startRecording(recordSpec); return ResponseDefinition.okEmptyJson(); } catch (InvalidInputException e) { return jsonResponse(e.getErrors(), 422); } } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { StubMapping newStubMapping = StubMapping.buildFrom(request.getBodyAsString()); UUID id = UUID.fromString(pathParams.get("id")); SingleStubMappingResult stubMappingResult = admin.getStubMapping(id); if (!stubMappingResult.isPresent()) { return ResponseDefinition.notFound(); } newStubMapping.setId(id); admin.editStubMapping(newStubMapping); return ResponseDefinition.okForJson(newStubMapping); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { RequestPattern requestPattern = Json.read(request.getBodyAsString(), RequestPattern.class); FindRequestsResult result = admin.findRequestsMatching(requestPattern); return responseDefinition() .withStatus(HTTP_OK) .withBody(Json.write(result)) .withHeader("Content-Type", "application/json") .build(); } }
@Override public ResponseDefinition execute(Admin admin, Request request, PathParams pathParams) { RequestPattern requestPattern = Json.read(request.getBodyAsString(), RequestPattern.class); VerificationResult result = admin.countRequestsMatching(requestPattern); return responseDefinition() .withStatus(HTTP_OK) .withBody(write(result)) .withHeader("Content-Type", "application/json") .build(); } }