/** * @see io.apiman.gateway.engine.components.IPolicyFailureFactoryComponent#createFailure(io.apiman.gateway.engine.beans.PolicyFailureType, int, java.lang.String) */ @Override public PolicyFailure createFailure(PolicyFailureType type, int failureCode, String message) { PolicyFailure failure = GatewayThreadContext.getPolicyFailure(); failure.setFailureCode(failureCode); failure.setMessage(message); failure.setType(type); // failure.setResponseCode(500); return failure; }
/** * @see io.apiman.gateway.engine.components.IPolicyFailureFactoryComponent#createFailure(io.apiman.gateway.engine.beans.PolicyFailureType, int, java.lang.String) */ @Override public PolicyFailure createFailure(PolicyFailureType type, int failureCode, String message) { PolicyFailure failure = new PolicyFailure(); // TODO pool failure.setFailureCode(failureCode); failure.setMessage(message); failure.setType(type); return failure; } }
/** * @see io.apiman.gateway.engine.components.IPolicyFailureFactoryComponent#createFailure(io.apiman.gateway.engine.beans.PolicyFailureType, int, java.lang.String) */ @Override public PolicyFailure createFailure(PolicyFailureType type, int failureCode, String message) { PolicyFailure failure = GatewayThreadContext.getPolicyFailure(); failure.setFailureCode(failureCode); failure.setMessage(message); failure.setType(type); // failure.setResponseCode(500); return failure; }
/** * @return the thread-local policy failure */ public static final PolicyFailure getPolicyFailure() { PolicyFailure failure = policyFailure.get(); if (failure == null) { failure = new PolicyFailure(); policyFailure.set(failure); } failure.setResponseCode(0); failure.setFailureCode(0); failure.setMessage(null); failure.setType(null); failure.getHeaders().clear(); return failure; }
/** * @return the thread-local policy failure */ public static final PolicyFailure getPolicyFailure() { PolicyFailure failure = policyFailure.get(); if (failure == null) { failure = new PolicyFailure(); policyFailure.set(failure); } failure.setResponseCode(0); failure.setFailureCode(0); failure.setMessage(null); failure.setType(null); failure.getHeaders().clear(); return failure; }
/** * @see io.apiman.gateway.engine.policies.AbstractMappedPolicy#doApply(io.apiman.gateway.engine.beans.ApiRequest, io.apiman.gateway.engine.policy.IPolicyContext, java.lang.Object, io.apiman.gateway.engine.policy.IPolicyChain) */ @Override protected void doApply(ApiRequest request, IPolicyContext context, IPListConfig config, IPolicyChain<ApiRequest> chain) { String remoteAddr = getRemoteAddr(request, config); if (isMatch(config, remoteAddr)) { IPolicyFailureFactoryComponent ffactory = context.getComponent(IPolicyFailureFactoryComponent.class); String msg = Messages.i18n.format("IPBlacklistPolicy.Blacklisted", remoteAddr); //$NON-NLS-1$ PolicyFailure failure = ffactory.createFailure(PolicyFailureType.Other, PolicyFailureCodes.IP_BLACKLISTED, msg); failure.setResponseCode(config.getResponseCode()); if (config.getResponseCode() == 404) { failure.setType(PolicyFailureType.NotFound); } else if (config.getResponseCode() == 403) { failure.setType(PolicyFailureType.Authorization); } else if (config.getResponseCode() == 0) { failure.setResponseCode(500); } chain.doFailure(failure); } else { super.doApply(request, context, config, chain); } }
/** * @see io.apiman.gateway.engine.policies.AbstractMappedPolicy#doApply(io.apiman.gateway.engine.beans.ApiRequest, io.apiman.gateway.engine.policy.IPolicyContext, java.lang.Object, io.apiman.gateway.engine.policy.IPolicyChain) */ @Override protected void doApply(ApiRequest request, IPolicyContext context, IPListConfig config, IPolicyChain<ApiRequest> chain) { String remoteAddr = getRemoteAddr(request, config); if (isMatch(config, remoteAddr)) { super.doApply(request, context, config, chain); } else { IPolicyFailureFactoryComponent ffactory = context.getComponent(IPolicyFailureFactoryComponent.class); String msg = Messages.i18n.format("IPWhitelistPolicy.NotWhitelisted", remoteAddr); //$NON-NLS-1$ PolicyFailure failure = ffactory.createFailure(PolicyFailureType.Other, PolicyFailureCodes.IP_NOT_WHITELISTED, msg); failure.setResponseCode(config.getResponseCode()); if (config.getResponseCode() == 404) { failure.setType(PolicyFailureType.NotFound); } else if (config.getResponseCode() == 403) { failure.setType(PolicyFailureType.Authorization); } else if (config.getResponseCode() == 0) { failure.setResponseCode(500); } chain.doFailure(failure); } }