@Test
  public void testLowerCaseOfResolvedServices() throws Exception {
    configFile =
        createTempFileFromResource(
            "org/kaazing/gateway/server/context/parse/data/gateway-config-mixedcase.xml");
    GatewayConfigDocument doc = parser.parse(configFile);
    GatewayContext ctx = resolver.resolve(doc);

    Collection<? extends ServiceContext> services = ctx.getServices();
    for (ServiceContext service : services) {
      // validate that the accepts have lower-case host names
      Collection<String> acceptURIs = service.getAccepts();
      for (String acceptURI : acceptURIs) {
        Assert.assertTrue(
            URIUtils.getHost(acceptURI).equals(URIUtils.getHost(acceptURI).toLowerCase()));
      }

      // validate that the cross-site-constraints have lower-case host names
      Map<String, ? extends Map<String, ? extends CrossSiteConstraintContext>>
          crossSiteConstraints = service.getCrossSiteConstraints();
      for (String key : crossSiteConstraints.keySet()) {
        Map<String, ? extends CrossSiteConstraintContext> crossSiteConstraintsByURI =
            crossSiteConstraints.get(key);
        for (CrossSiteConstraintContext crossSiteConstraint : crossSiteConstraintsByURI.values()) {
          String allowOrigin = crossSiteConstraint.getAllowOrigin();
          if (!"*".equals(allowOrigin)) {
            URI originURI = URI.create(allowOrigin);
            Assert.assertTrue(originURI.getHost().equals(originURI.getHost().toLowerCase()));
          }
        }
      }
    }
  }
Esempio n. 2
0
 public MonitoredServiceImpl(ServiceContext serviceContext) {
   this.serviceName = serviceContext.getServiceName();
 }
 @Override
 public void start() throws Exception {
   serviceContext.bind(serviceContext.getAccepts(), handler);
 }