@Override public GatewayDescriptor createObject( Attributes attributes ) throws Exception { return GatewayDescriptorFactory.create(); } }
@Override public void contributeFilter( DeploymentContext context, Provider provider, Service service, ResourceDescriptor resource, List<FilterParamDescriptor> params ) { FilterDescriptor filter = resource.addFilter().name( getName() ).role( getRole() ).impl( FILTER_CLASS_NAME ); if( params != null ) { for( FilterParamDescriptor param : params ) { filter.param().name( param.name() ).value( param.value() ); } } }
private static Map<String, String> createParams( FilterDescriptor filter ) { Map<String, String> paramMap = new HashMap<>(); ResourceDescriptor resource = filter.up(); GatewayDescriptor gateway = resource.up(); for( GatewayParamDescriptor param : gateway.params() ) { paramMap.put( param.name(), param.value() ); } for( ResourceParamDescriptor param : resource.params() ) { paramMap.put( param.name(), param.value() ); } //TODO: Should all elements of the resource and gateway descriptor somehow be added to the filter params? //TODO: Should we use some composite params object instead of copying all these name value pairs? paramMap.put( "pattern", resource.pattern() ); List<FilterParamDescriptor> paramList = filter.params(); for( FilterParamDescriptor param : paramList ) { paramMap.put( param.name(), param.value() ); } return paramMap; }
private static void addResource( GatewayFilter gateway, ResourceDescriptor resource ) throws URISyntaxException { for( FilterDescriptor filter : resource.filters() ) { addFilter( gateway, filter ); } }
@Override public void contributeFilter( DeploymentContext context, Provider provider, Service service, ResourceDescriptor resource, List<FilterParamDescriptor> params ) { FilterDescriptor filter = resource.addFilter().name( getName() ).role( getRole() ).impl( FILTER_CLASS_NAME ); if( params != null ) { for( FilterParamDescriptor param : params ) { filter.param().name( param.name() ).value( param.value() ); } } }
private static Map<String, String> createParams( FilterDescriptor filter ) { Map<String, String> paramMap = new HashMap<>(); ResourceDescriptor resource = filter.up(); GatewayDescriptor gateway = resource.up(); for( GatewayParamDescriptor param : gateway.params() ) { paramMap.put( param.name(), param.value() ); } for( ResourceParamDescriptor param : resource.params() ) { paramMap.put( param.name(), param.value() ); } //TODO: Should all elements of the resource and gateway descriptor somehow be added to the filter params? //TODO: Should we use some composite params object instead of copying all these name value pairs? paramMap.put( "pattern", resource.pattern() ); List<FilterParamDescriptor> paramList = filter.params(); for( FilterParamDescriptor param : paramList ) { paramMap.put( param.name(), param.value() ); } return paramMap; }
private void addDefaultHaDispatchFilter(DeploymentContext context, Service service, ResourceDescriptor resource, Map<String, String> dispatchParams) { FilterDescriptor filter = addDispatchFilterForClass(context, service, resource, DEFAULT_HA_DISPATCH_CLASS, null, dispatchParams); filter.param().name(SERVICE_ROLE_PARAM).value(service.getRole()); }
@Override public GatewayDescriptor createObject( Attributes attributes ) throws Exception { return GatewayDescriptorFactory.create(); } }
@Override public void contributeFilter( DeploymentContext context, Provider provider, Service service, ResourceDescriptor resource, List<FilterParamDescriptor> params ) { FilterDescriptor filterDescriptor = resource.addFilter(); filterDescriptor.role( getRole() ).name( getName() ).impl( UrlRewriteServletFilter.class ).params( params ); filterDescriptor.param().name(PARAM_SERVICE_ROLE).value(service.getRole()); }
@Override public void contributeFilter( DeploymentContext context, Provider provider, Service service, ResourceDescriptor resource, List<FilterParamDescriptor> params ) { FilterDescriptor filterDescriptor = resource.addFilter(); filterDescriptor.role( getRole() ).name( getName() ).impl( UrlRewriteServletFilter.class ).params( params ); filterDescriptor.param().name(PARAM_SERVICE_ROLE).value(service.getRole()); }
@Override public void contributeFilter( DeploymentContext context, Provider provider, Service service, ResourceDescriptor resource, List<FilterParamDescriptor> params ) { params = buildFilterInitParms(provider, resource, params); resource.addFilter().name(getName()).role(getRole()).impl(getFilterClassname()).params(params); }
@Override public void contributeFilter( DeploymentContext context, Provider provider, Service service, ResourceDescriptor resource, List<FilterParamDescriptor> params ) { params = buildFilterInitParms(provider, resource, params); resource.addFilter().name(getName()).role(getRole()).impl(getFilterClassname()).params(params); }
protected void addXForwardedFilter(DeploymentContext context, Service service, ResourceDescriptor resource) { final String XFORWARDED_FILTER_NAME = "XForwardedHeaderFilter"; final String XFORWARDED_FILTER_ROLE = "xforwardedheaders"; if (context.getGatewayConfig() != null && context.getGatewayConfig().isXForwardedEnabled()) { resource.addFilter().name(XFORWARDED_FILTER_NAME).role(XFORWARDED_FILTER_ROLE).impl("org.apache.knox.gateway.filter.XForwardedHeaderFilter"); } }
protected void addXForwardedFilter(DeploymentContext context, Service service, ResourceDescriptor resource) { final String XFORWARDED_FILTER_NAME = "XForwardedHeaderFilter"; final String XFORWARDED_FILTER_ROLE = "xforwardedheaders"; if (context.getGatewayConfig() != null && context.getGatewayConfig().isXForwardedEnabled()) { resource.addFilter().name(XFORWARDED_FILTER_NAME).role(XFORWARDED_FILTER_ROLE).impl("org.apache.knox.gateway.filter.XForwardedHeaderFilter"); } }