View Javadoc

1   package com.atlassian.plugins.rest.cors;
2   
3   import com.atlassian.plugins.rest.common.security.descriptor.CorsDefaults;
4   import com.google.common.collect.ImmutableSet;
5   
6   import java.util.Set;
7   
8   /**
9    * A basic implementation of {@link CorsDefaults} purely for testing purposes. This is not published by the REST module.
10   */
11  public class SimpleCorsDefaults implements CorsDefaults {
12      public static final String CREDENTIALS = "http://credentials.test.com";
13      public static final String NO_CREDENTIALS = "http://nocredentials.test.com";
14  
15      private static final Set<String> WHITELIST = ImmutableSet.of(CREDENTIALS, NO_CREDENTIALS);
16  
17      public boolean allowsCredentials(String uri) throws IllegalArgumentException {
18          return CREDENTIALS.equals(uri);
19      }
20  
21      public boolean allowsOrigin(String uri) {
22          return WHITELIST.contains(uri);
23      }
24  
25      public Set<String> getAllowedRequestHeaders(String uri) {
26          return ImmutableSet.of("X-Custom-Header");
27      }
28  
29      public Set<String> getAllowedResponseHeaders(String uri) {
30          return ImmutableSet.of("X-Response-Header");
31      }
32  }