} else if (matchPattern(uri, endpoint, pattern)) {
// if pattern is null then it mean to match all
// only proxy if the uri is matched decorate endpoint with our proxy
// should be false by default
InterceptSendToEndpoint proxy = new InterceptSendToEndpoint(endpoint, skip);
// create mock endpoint which we will use as interceptor
// replace :// from scheme to make it easy to lookup the mock endpoint without having double :// in uri
String key = "mock:" + endpoint.getEndpointKey().replaceFirst("://", ":");
// strip off parameters as well
if (key.contains("?")) {
key = ObjectHelper.before(key, "?");
}
LOG.info("Adviced endpoint [" + uri + "] with mock endpoint [" + key + "]");
MockEndpoint mock = endpoint.getCamelContext().getEndpoint(key, MockEndpoint.class);
Producer producer;
try {
producer = mock.createProducer();
} catch (Exception e) {
throw wrapRuntimeCamelException(e);
}
// allow custom logic
producer = onInterceptEndpoint(uri, endpoint, mock, producer);
proxy.setDetour(producer);
return proxy;
} else {
// no proxy so return regular endpoint
return endpoint;