1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.http.impl.cookie;
29
30 import java.util.Collection;
31
32 import org.apache.http.annotation.Contract;
33 import org.apache.http.annotation.ThreadingBehavior;
34 import org.apache.http.cookie.CookieSpec;
35 import org.apache.http.cookie.CookieSpecFactory;
36 import org.apache.http.cookie.CookieSpecProvider;
37 import org.apache.http.cookie.params.CookieSpecPNames;
38 import org.apache.http.params.HttpParams;
39 import org.apache.http.protocol.HttpContext;
40
41
42
43
44
45
46
47
48
49
50 @Contract(threading = ThreadingBehavior.IMMUTABLE)
51 @Deprecated
52 public class BrowserCompatSpecFactory implements CookieSpecFactory, CookieSpecProvider {
53
54 public enum SecurityLevel {
55 SECURITYLEVEL_DEFAULT,
56 SECURITYLEVEL_IE_MEDIUM
57 }
58
59 private final SecurityLevel securityLevel;
60 private final CookieSpec cookieSpec;
61
62 public BrowserCompatSpecFactory(final String[] datepatterns, final SecurityLevel securityLevel) {
63 super();
64 this.securityLevel = securityLevel;
65 this.cookieSpec = new BrowserCompatSpec(datepatterns, securityLevel);
66 }
67
68 public BrowserCompatSpecFactory(final String[] datepatterns) {
69 this(null, SecurityLevel.SECURITYLEVEL_DEFAULT);
70 }
71
72 public BrowserCompatSpecFactory() {
73 this(null, SecurityLevel.SECURITYLEVEL_DEFAULT);
74 }
75
76 @Override
77 public CookieSpec newInstance(final HttpParams params) {
78 if (params != null) {
79
80 String[] patterns = null;
81 final Collection<?> param = (Collection<?>) params.getParameter(
82 CookieSpecPNames.DATE_PATTERNS);
83 if (param != null) {
84 patterns = new String[param.size()];
85 patterns = param.toArray(patterns);
86 }
87 return new BrowserCompatSpec(patterns, securityLevel);
88 } else {
89 return new BrowserCompatSpec(null, securityLevel);
90 }
91 }
92
93 @Override
94 public CookieSpec create(final HttpContext context) {
95 return this.cookieSpec;
96 }
97
98 }