Search in sources :

Example 1 with UrlRewriteMatchDescriptor

use of org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchDescriptor in project knox by apache.

the class UrlRewriteRuleProcessorImpl method initialize.

@Override
public void initialize(UrlRewriteEnvironment environment, UrlRewriteRuleDescriptor descriptor) throws Exception {
    UrlRewriteMatchDescriptor matchDescriptor = new UrlRewriteMatchDescriptorExt();
    matchDescriptor.operation("matches");
    matchDescriptor.flow(descriptor.flow());
    matchDescriptor.template(descriptor.template());
    matchProcessor = new UrlRewriteMatchProcessorExt();
    matchProcessor.initialize(environment, matchDescriptor);
}
Also used : UrlRewriteMatchDescriptor(org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchDescriptor) UrlRewriteMatchDescriptorExt(org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchDescriptorExt) UrlRewriteMatchProcessorExt(org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchProcessorExt)

Example 2 with UrlRewriteMatchDescriptor

use of org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchDescriptor in project knox by apache.

the class XmlUrlRewriteRulesExporterTest method testMatchStep.

@Test
public void testMatchStep() throws Exception {
    UrlRewriteRulesDescriptor rules = UrlRewriteRulesDescriptorFactory.create();
    UrlRewriteRuleDescriptor rule = rules.addRule("test-rule").pattern("test-pattern-rule");
    UrlRewriteMatchDescriptor match = rule.addStep("match");
    match.operation("test-operation").pattern("test-pattern-step").flow("all");
    StringWriter writer = new StringWriter();
    UrlRewriteRulesDescriptorFactory.store(rules, "xml", writer);
    String str = writer.toString();
    // System.out.println( str );
    Source xml = XmlConverters.the(str);
    assertThat(xml, XmlMatchers.hasXPath("/rules"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule"));
    assertThat(xml, XmlMatchers.hasXPath("count(/rules/rule)", is("1")));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/@name", is("test-rule")));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/@pattern", is("test-pattern-rule")));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/match"));
    assertThat(xml, XmlMatchers.hasXPath("count(/rules/rule/match)", is("1")));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/match/@flow", is("ALL")));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/match/@oper", is("test-operation")));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/match/@pattern", is("test-pattern-step")));
}
Also used : UrlRewriteMatchDescriptor(org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchDescriptor) UrlRewriteRuleDescriptor(org.apache.knox.gateway.filter.rewrite.api.UrlRewriteRuleDescriptor) StringWriter(java.io.StringWriter) UrlRewriteRulesDescriptor(org.apache.knox.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor) Source(javax.xml.transform.Source) Test(org.junit.Test)

Example 3 with UrlRewriteMatchDescriptor

use of org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchDescriptor in project knox by apache.

the class XmlUrlRewriteRulesExporterTest method testNestedStep.

@Test
public void testNestedStep() throws Exception {
    UrlRewriteRulesDescriptor rules = UrlRewriteRulesDescriptorFactory.create();
    UrlRewriteRuleDescriptor rule = rules.addRule("test-rule");
    UrlRewriteMatchDescriptor match = rule.addStep("match");
    UrlRewriteMatchDescriptor matchMatch = match.addStep("match");
    UrlRewriteCheckDescriptor matchCheck = match.addStep("check");
    UrlRewriteControlDescriptor matchControl = match.addStep("control");
    UrlRewriteActionDescriptor matchRewrite = match.addStep("rewrite");
    UrlRewriteCheckDescriptor check = rule.addStep("check");
    UrlRewriteMatchDescriptor checkMatch = check.addStep("match");
    UrlRewriteCheckDescriptor checkCheck = check.addStep("check");
    UrlRewriteControlDescriptor checkControl = check.addStep("control");
    UrlRewriteActionDescriptor checkRewrite = check.addStep("rewrite");
    UrlRewriteControlDescriptor control = rule.addStep("control");
    UrlRewriteMatchDescriptor controlMatch = control.addStep("match");
    UrlRewriteCheckDescriptor controlCheck = control.addStep("check");
    UrlRewriteControlDescriptor controlControl = control.addStep("control");
    UrlRewriteActionDescriptor controlRewrite = control.addStep("rewrite");
    UrlRewriteActionDescriptor rewrite = rule.addStep("rewrite");
    StringWriter writer = new StringWriter();
    UrlRewriteRulesDescriptorFactory.store(rules, "xml", writer);
    String str = writer.toString();
    // System.out.println( str );
    Source xml = XmlConverters.the(str);
    assertThat(xml, XmlMatchers.hasXPath("/rules"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule"));
    assertThat(xml, XmlMatchers.hasXPath("count(/rules/rule)", is("1")));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/@name", is("test-rule")));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/match"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/match/match"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/match/check"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/match/control"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/match/rewrite"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/check"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/check/match"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/check/check"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/check/control"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/check/rewrite"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/control"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/control/match"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/control/check"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/control/control"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/control/rewrite"));
    assertThat(xml, XmlMatchers.hasXPath("/rules/rule/rewrite"));
}
Also used : UrlRewriteMatchDescriptor(org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchDescriptor) UrlRewriteRuleDescriptor(org.apache.knox.gateway.filter.rewrite.api.UrlRewriteRuleDescriptor) StringWriter(java.io.StringWriter) UrlRewriteControlDescriptor(org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteControlDescriptor) UrlRewriteRulesDescriptor(org.apache.knox.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor) UrlRewriteActionDescriptor(org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteActionDescriptor) UrlRewriteCheckDescriptor(org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteCheckDescriptor) Source(javax.xml.transform.Source) Test(org.junit.Test)

Aggregations

UrlRewriteMatchDescriptor (org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchDescriptor)3 StringWriter (java.io.StringWriter)2 Source (javax.xml.transform.Source)2 UrlRewriteRuleDescriptor (org.apache.knox.gateway.filter.rewrite.api.UrlRewriteRuleDescriptor)2 UrlRewriteRulesDescriptor (org.apache.knox.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor)2 Test (org.junit.Test)2 UrlRewriteActionDescriptor (org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteActionDescriptor)1 UrlRewriteCheckDescriptor (org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteCheckDescriptor)1 UrlRewriteControlDescriptor (org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteControlDescriptor)1 UrlRewriteMatchDescriptorExt (org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchDescriptorExt)1 UrlRewriteMatchProcessorExt (org.apache.knox.gateway.filter.rewrite.ext.UrlRewriteMatchProcessorExt)1