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  {
13      public static final String CREDENTIALS = "http://credentials.test.com";
14      public static final String NO_CREDENTIALS = "http://nocredentials.test.com";
15      
16      private static final Set<String> WHITELIST = ImmutableSet.of(CREDENTIALS, NO_CREDENTIALS);
17  
18      public boolean allowsCredentials(String uri) throws IllegalArgumentException
19      {
20          return CREDENTIALS.equals(uri);
21      }
22  
23      public boolean allowsOrigin(String uri)
24      {
25          return WHITELIST.contains(uri);
26      }
27  
28      public Set<String> getAllowedRequestHeaders(String uri)
29      {
30          return ImmutableSet.of("X-Custom-Header");
31      }
32  
33      public Set<String> getAllowedResponseHeaders(String uri)
34      {
35          return ImmutableSet.of("X-Response-Header");
36      }
37  }