Skip to content

Commit 364503a

Browse files
committed
BI-494 - Prevent 'Invalid cookie header' messages
1 parent 9fcb097 commit 364503a

File tree

1 file changed

+34
-25
lines changed

1 file changed

+34
-25
lines changed

build-info-client/src/main/java/org/jfrog/build/client/PreemptiveHttpClient.java

+34-25
Original file line numberDiff line numberDiff line change
@@ -86,31 +86,6 @@ public class PreemptiveHttpClient implements AutoCloseable {
8686
public PreemptiveHttpClient(String userName, String password, int timeout, ProxyConfiguration proxyConfiguration, int connectionRetries) {
8787
HttpClientBuilder httpClientBuilder = createHttpClientBuilder(userName, password, timeout, connectionRetries);
8888

89-
PublicSuffixMatcher publicSuffixMatcher = PublicSuffixMatcherLoader.getDefault();
90-
httpClientBuilder.setPublicSuffixMatcher(publicSuffixMatcher);
91-
92-
final CookieSpecProvider defaultProvider = new DefaultCookieSpecProvider(
93-
DefaultCookieSpecProvider.CompatibilityLevel.DEFAULT, publicSuffixMatcher, new String[]{
94-
"EEE, dd-MMM-yy HH:mm:ss z", // Netscape expires pattern
95-
DateUtils.PATTERN_RFC1036,
96-
DateUtils.PATTERN_ASCTIME,
97-
DateUtils.PATTERN_RFC1123
98-
}, false);
99-
100-
final CookieSpecProvider laxStandardProvider = new RFC6265CookieSpecProvider(
101-
RFC6265CookieSpecProvider.CompatibilityLevel.RELAXED, publicSuffixMatcher);
102-
final CookieSpecProvider strictStandardProvider = new RFC6265CookieSpecProvider(
103-
RFC6265CookieSpecProvider.CompatibilityLevel.STRICT, publicSuffixMatcher);
104-
105-
httpClientBuilder.setDefaultCookieSpecRegistry(RegistryBuilder.<CookieSpecProvider>create()
106-
.register(CookieSpecs.DEFAULT, defaultProvider)
107-
.register("best-match", defaultProvider)
108-
.register("compatibility", defaultProvider)
109-
.register(CookieSpecs.STANDARD, laxStandardProvider)
110-
.register(CookieSpecs.STANDARD_STRICT, strictStandardProvider)
111-
.register(CookieSpecs.NETSCAPE, new NetscapeDraftSpecProvider())
112-
.register(CookieSpecs.IGNORE_COOKIES, new IgnoreSpecProvider())
113-
.build());
11489
if (proxyConfiguration != null) {
11590
setProxyConfiguration(httpClientBuilder, proxyConfiguration);
11691
}
@@ -176,9 +151,43 @@ private HttpClientBuilder createHttpClientBuilder(String userName, String passwo
176151
// set the following user agent with each request
177152
String userAgent = "ArtifactoryBuildClient/" + CLIENT_VERSION;
178153
builder.setUserAgent(userAgent);
154+
155+
setDefaultCookieSpecRegistry(builder);
179156
return builder;
180157
}
181158

159+
/**
160+
* This method configures the http client builder cookie spec, to avoid log messages like:
161+
* Invalid cookie header: "Set-Cookie: AWSALB=jgFuoBrtnHLZCOr1B07ulLBEGSXLWcGZO8rTzzuuORNDpTubaDixX30r9N3F3Hy9xAlFgXhVghWJHE4V8uNQSNUsz7Wx7geQ8zrlG8mPva2yeCyuKDVm4iO6/IdP; Expires=Tue, 25 Jun 2019 22:20:19 GMT; Path=/". Invalid 'expires' attribute: Tue, 25 Jun 2019 22:20:19 GMT
162+
*/
163+
private void setDefaultCookieSpecRegistry(HttpClientBuilder clientBuilder) {
164+
PublicSuffixMatcher publicSuffixMatcher = PublicSuffixMatcherLoader.getDefault();
165+
clientBuilder.setPublicSuffixMatcher(publicSuffixMatcher);
166+
167+
final CookieSpecProvider defaultProvider = new DefaultCookieSpecProvider(
168+
DefaultCookieSpecProvider.CompatibilityLevel.DEFAULT, publicSuffixMatcher, new String[]{
169+
"EEE, dd-MMM-yy HH:mm:ss z", // Netscape expires pattern
170+
DateUtils.PATTERN_RFC1036,
171+
DateUtils.PATTERN_ASCTIME,
172+
DateUtils.PATTERN_RFC1123
173+
}, false);
174+
175+
final CookieSpecProvider laxStandardProvider = new RFC6265CookieSpecProvider(
176+
RFC6265CookieSpecProvider.CompatibilityLevel.RELAXED, publicSuffixMatcher);
177+
final CookieSpecProvider strictStandardProvider = new RFC6265CookieSpecProvider(
178+
RFC6265CookieSpecProvider.CompatibilityLevel.STRICT, publicSuffixMatcher);
179+
180+
clientBuilder.setDefaultCookieSpecRegistry(RegistryBuilder.<CookieSpecProvider>create()
181+
.register(CookieSpecs.DEFAULT, defaultProvider)
182+
.register("best-match", defaultProvider)
183+
.register("compatibility", defaultProvider)
184+
.register(CookieSpecs.STANDARD, laxStandardProvider)
185+
.register(CookieSpecs.STANDARD_STRICT, strictStandardProvider)
186+
.register(CookieSpecs.NETSCAPE, new NetscapeDraftSpecProvider())
187+
.register(CookieSpecs.IGNORE_COOKIES, new IgnoreSpecProvider())
188+
.build());
189+
}
190+
182191
@Override
183192
public void close() {
184193
try {

0 commit comments

Comments
 (0)