use of com.predic8.membrane.core.interceptor.Interceptor.Flow in project service-proxy by membrane.
the class MemoryExchangeStore method snap.
public void snap(AbstractExchange exc, Flow flow) {
if (flow != Flow.REQUEST)
return;
if (isKeyInStore(exc)) {
getKeyList(exc).add(exc);
} else {
List<AbstractExchange> list = new Vector<AbstractExchange>();
list.add(exc);
exchangesMap.put(exc.getRule().getKey(), list);
}
totals.add(exc);
for (IExchangesStoreListener listener : exchangesStoreListeners) {
exc.addExchangeStoreListener(listener);
listener.addExchange(exc.getRule(), exc);
}
}
use of com.predic8.membrane.core.interceptor.Interceptor.Flow in project service-proxy by membrane.
the class RequestInterceptor method handleRequest.
@Override
public Outcome handleRequest(Exchange exc) throws Exception {
boolean logDebug = log.isDebugEnabled();
for (Interceptor i : getInterceptors()) {
EnumSet<Flow> f = i.getFlow();
if (!f.contains(Flow.REQUEST))
continue;
if (logDebug)
log.debug("Invoking request handler: " + i.getDisplayName() + " on exchange: " + exc);
Outcome o = i.handleRequest(exc);
if (o != Outcome.CONTINUE)
return o;
}
return Outcome.CONTINUE;
}
use of com.predic8.membrane.core.interceptor.Interceptor.Flow in project service-proxy by membrane.
the class GroovyInterceptor method logGroovyException.
private void logGroovyException(Flow flow, Exception e) {
try {
ServiceProxy sp = getRule();
log.error("Exception in Groovy script in service proxy '" + sp.getName() + "' on port " + sp.getPort() + " with path " + (sp.getPath() != null ? sp.getPath().getValue() : "*"));
if (flow != null)
log.error("Flow: " + flow.name());
else
log.error("There is possibly a syntax error in the groovy script (compilation error)");
} catch (NoSuchElementException e2) {
// ignore - logging should not break anything
} finally {
e.printStackTrace();
}
}
Aggregations