@RequestMapping(value = "/public/{namespace:.+}/**", method = {
			RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT, RequestMethod.DELETE
	}) public void mock(@PathVariable String namespace,
						@RequestBody String requestBody,
						HttpServletRequest request,
						HttpServletResponse response) throws IOException, MockNotFoundException {
		String url = request.getRequestURI().substring(8 + namespace.length());
		String method = request.getMethod();
		logger.info("Mock " + namespace + " : " + method + " " + url);
		Mock mock = matchMock(namespace, method, url, requestBody);
		if (mock == null) {
			throw new MockNotFoundException("Pas de mock trouvé");
		}
		Response mockResponse = mock.getResponse();
		response.setStatus((mockResponse.getStatus() == null) ? 200 : mockResponse.getStatus());
		boolean contentTypeSent = false;
		for (Map.Entry<String, String> h : mockResponse.getHeaders().entrySet()) {
			response.setHeader(h.getKey(), h.getValue());
			if (h.getKey().equalsIgnoreCase("Content-Type")) {
				contentTypeSent = true;
			}
		}
		if (!contentTypeSent) {
			response.setHeader("Content-Type", mockResponse.guessContentType());
		}
		final String body = mockResponse.getBody();
		response.setHeader("Content-length", "" + body.getBytes().length);
		response.getWriter().print(body);
	}