Skip to content

Commit 27b2e7a

Browse files
committed
Upgrade tomcat 8.5.14
1 parent e43da76 commit 27b2e7a

File tree

5 files changed

+201
-68
lines changed

5 files changed

+201
-68
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
/*
2+
* Copyright (c) 2017 AsyncHttpClient Project. All rights reserved.
3+
*
4+
* This program is licensed to you under the Apache License Version 2.0,
5+
* and you may not use this file except in compliance with the Apache License Version 2.0.
6+
* You may obtain a copy of the Apache License Version 2.0 at
7+
* http://www.apache.org/licenses/LICENSE-2.0.
8+
*
9+
* Unless required by applicable law or agreed to in writing,
10+
* software distributed under the Apache License Version 2.0 is distributed on an
11+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
* See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
13+
*/
14+
package org.asynchttpclient.test;
15+
16+
import org.apache.juli.logging.Log;
17+
import org.slf4j.Logger;
18+
import org.slf4j.LoggerFactory;
19+
20+
public class Slf4jJuliLog implements Log {
21+
22+
private final Logger logger;
23+
24+
// just so that ServiceLoader doesn't crash, unused
25+
public Slf4jJuliLog() {
26+
logger = null;
27+
}
28+
29+
// actual constructor
30+
public Slf4jJuliLog(String name) {
31+
logger = LoggerFactory.getLogger(name);
32+
}
33+
34+
@Override
35+
public void debug(Object arg0) {
36+
logger.debug(arg0.toString());
37+
}
38+
39+
@Override
40+
public void debug(Object arg0, Throwable arg1) {
41+
logger.debug(arg0.toString(), arg1);
42+
}
43+
44+
@Override
45+
public void error(Object arg0) {
46+
logger.error(arg0.toString());
47+
}
48+
49+
@Override
50+
public void error(Object arg0, Throwable arg1) {
51+
logger.error(arg0.toString(), arg1);
52+
}
53+
54+
@Override
55+
public void fatal(Object arg0) {
56+
logger.error(arg0.toString());
57+
}
58+
59+
@Override
60+
public void fatal(Object arg0, Throwable arg1) {
61+
logger.error(arg0.toString(), arg1);
62+
}
63+
64+
@Override
65+
public void info(Object arg0) {
66+
logger.info(arg0.toString());
67+
}
68+
69+
@Override
70+
public void info(Object arg0, Throwable arg1) {
71+
logger.info(arg0.toString(), arg1);
72+
}
73+
74+
@Override
75+
public boolean isDebugEnabled() {
76+
return logger.isDebugEnabled();
77+
}
78+
79+
@Override
80+
public boolean isErrorEnabled() {
81+
return logger.isErrorEnabled();
82+
}
83+
84+
@Override
85+
public boolean isFatalEnabled() {
86+
return logger.isErrorEnabled();
87+
}
88+
89+
@Override
90+
public boolean isInfoEnabled() {
91+
return logger.isInfoEnabled();
92+
}
93+
94+
@Override
95+
public boolean isTraceEnabled() {
96+
return logger.isTraceEnabled();
97+
}
98+
99+
@Override
100+
public boolean isWarnEnabled() {
101+
return logger.isWarnEnabled();
102+
}
103+
104+
@Override
105+
public void trace(Object arg0) {
106+
logger.trace(arg0.toString());
107+
}
108+
109+
@Override
110+
public void trace(Object arg0, Throwable arg1) {
111+
logger.trace(arg0.toString(), arg1);
112+
}
113+
114+
@Override
115+
public void warn(Object arg0) {
116+
logger.warn(arg0.toString());
117+
}
118+
119+
@Override
120+
public void warn(Object arg0, Throwable arg1) {
121+
logger.warn(arg0.toString(), arg1);
122+
}
123+
}

client/src/test/java/org/asynchttpclient/webdav/WebDavBasicTest.java renamed to client/src/test/java/org/asynchttpclient/webdav/WebdavTest.java

Lines changed: 63 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@
1717

1818
import java.io.File;
1919
import java.io.IOException;
20+
import java.util.Enumeration;
2021
import java.util.concurrent.ExecutionException;
2122

23+
import javax.servlet.ServletConfig;
24+
import javax.servlet.ServletContext;
25+
import javax.servlet.ServletException;
26+
2227
import org.apache.catalina.Context;
23-
import org.apache.catalina.Engine;
24-
import org.apache.catalina.Host;
25-
import org.apache.catalina.Wrapper;
26-
import org.apache.catalina.connector.Connector;
27-
import org.apache.catalina.startup.Embedded;
28-
import org.apache.coyote.http11.Http11NioProtocol;
29-
import org.asynchttpclient.AbstractBasicTest;
28+
import org.apache.catalina.servlets.WebdavServlet;
29+
import org.apache.catalina.startup.Tomcat;
3030
import org.asynchttpclient.AsyncHttpClient;
3131
import org.asynchttpclient.Request;
3232
import org.asynchttpclient.RequestBuilder;
@@ -36,55 +36,75 @@
3636
import org.testng.annotations.BeforeClass;
3737
import org.testng.annotations.Test;
3838

39-
public class WebDavBasicTest extends AbstractBasicTest {
39+
public class WebdavTest {
4040

41-
protected Embedded embedded;
41+
private Tomcat tomcat;
42+
private int port1;
4243

44+
@SuppressWarnings("serial")
4345
@BeforeClass(alwaysRun = true)
4446
public void setUpGlobal() throws Exception {
4547

46-
embedded = new Embedded();
47-
String path = new File(".").getAbsolutePath();
48-
embedded.setCatalinaHome(path);
49-
50-
Engine engine = embedded.createEngine();
51-
engine.setDefaultHost("localhost");
52-
53-
Host host = embedded.createHost("localhost", path);
54-
engine.addChild(host);
55-
56-
Context c = embedded.createContext("/", path);
57-
c.setReloadable(false);
58-
Wrapper w = c.createWrapper();
59-
w.addMapping("/*");
60-
w.setServletClass(org.apache.catalina.servlets.WebdavServlet.class.getName());
61-
w.addInitParameter("readonly", "false");
62-
w.addInitParameter("listings", "true");
63-
64-
w.setLoadOnStartup(0);
65-
66-
c.addChild(w);
67-
host.addChild(c);
68-
69-
Connector connector = embedded.createConnector("localhost", 0, Http11NioProtocol.class.getName());
70-
connector.setContainer(host);
71-
embedded.addEngine(engine);
72-
embedded.addConnector(connector);
73-
embedded.start();
74-
port1 = connector.getLocalPort();
48+
String path = new File(".").getAbsolutePath() + "/target";
49+
50+
tomcat = new Tomcat();
51+
tomcat.setHostname("localhost");
52+
tomcat.setPort(0);
53+
tomcat.setBaseDir(path);
54+
Context ctx = tomcat.addContext("", path);
55+
56+
Tomcat.addServlet(ctx, "webdav", new WebdavServlet() {
57+
@Override
58+
public void init(ServletConfig config) throws ServletException {
59+
60+
super.init(new ServletConfig() {
61+
62+
@Override
63+
public String getServletName() {
64+
return config.getServletName();
65+
}
66+
67+
@Override
68+
public ServletContext getServletContext() {
69+
return config.getServletContext();
70+
}
71+
72+
@Override
73+
public Enumeration<String> getInitParameterNames() {
74+
// FIXME
75+
return config.getInitParameterNames();
76+
}
77+
78+
@Override
79+
public String getInitParameter(String name) {
80+
switch (name) {
81+
case "readonly":
82+
return "false";
83+
case "listings":
84+
return "true";
85+
default:
86+
return config.getInitParameter(name);
87+
}
88+
}
89+
});
90+
}
91+
92+
});
93+
ctx.addServletMappingDecoded("/*", "webdav");
94+
tomcat.start();
95+
port1 = tomcat.getConnector().getLocalPort();
7596
}
7697

7798
@AfterClass(alwaysRun = true)
7899
public void tearDownGlobal() throws InterruptedException, Exception {
79-
embedded.stop();
100+
tomcat.stop();
80101
}
81102

82-
protected String getTargetUrl() {
103+
private String getTargetUrl() {
83104
return String.format("http://localhost:%s/folder1", port1);
84105
}
85106

86107
@AfterMethod(alwaysRun = true)
87-
// FIXME not sure that's threadsafe
88108
public void clean() throws InterruptedException, Exception {
89109
try (AsyncHttpClient c = asyncHttpClient()) {
90110
c.executeRequest(delete(getTargetUrl())).get();
@@ -126,11 +146,11 @@ public void propFindWebDavTest() throws InterruptedException, IOException, Execu
126146
Response response = c.executeRequest(mkcolRequest).get();
127147
assertEquals(response.getStatusCode(), 201);
128148

129-
Request putRequest = put(String.format("http://localhost:%s/folder1/Test.txt", port1)).setBody("this is a test").build();
149+
Request putRequest = put(getTargetUrl() + "/Test.txt").setBody("this is a test").build();
130150
response = c.executeRequest(putRequest).get();
131151
assertEquals(response.getStatusCode(), 201);
132152

133-
Request propFindRequest = new RequestBuilder("PROPFIND").setUrl(String.format("http://localhost:%s/folder1/Test.txt", port1)).build();
153+
Request propFindRequest = new RequestBuilder("PROPFIND").setUrl(getTargetUrl() + "/Test.txt").build();
134154
response = c.executeRequest(propFindRequest).get();
135155

136156
assertEquals(response.getStatusCode(), 207);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
org.asynchttpclient.test.Slf4jJuliLog
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
<configuration>
2-
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
3-
<layout class="ch.qos.logback.classic.PatternLayout">
4-
<Pattern>%d [%thread] %level %logger - %m%n</Pattern>
5-
</layout>
6-
</appender>
2+
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
3+
<layout class="ch.qos.logback.classic.PatternLayout">
4+
<Pattern>%d [%thread] %level %logger - %m%n</Pattern>
5+
</layout>
6+
</appender>
77

8-
<logger name="org.eclipse" level="INFO"/>
8+
<logger name="org.eclipse" level="INFO" />
9+
<logger name="org.apache" level="INFO" />
910

10-
<root level="DEBUG">
11-
<appender-ref ref="CONSOLE"/>
12-
</root>
11+
<root level="DEBUG">
12+
<appender-ref ref="CONSOLE" />
13+
</root>
1314
</configuration>

pom.xml

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -326,23 +326,11 @@
326326
<scope>test</scope>
327327
</dependency>
328328
<dependency>
329-
<groupId>org.apache.tomcat</groupId>
330-
<artifactId>coyote</artifactId>
329+
<groupId>org.apache.tomcat.embed</groupId>
330+
<artifactId>tomcat-embed-core</artifactId>
331331
<version>${tomcat.version}</version>
332332
<scope>test</scope>
333333
</dependency>
334-
<dependency>
335-
<groupId>org.apache.tomcat</groupId>
336-
<artifactId>catalina</artifactId>
337-
<version>${tomcat.version}</version>
338-
<scope>test</scope>
339-
<exclusions>
340-
<exclusion>
341-
<groupId>org.apache.tomcat</groupId>
342-
<artifactId>servlet-api</artifactId>
343-
</exclusion>
344-
</exclusions>
345-
</dependency>
346334
<dependency>
347335
<groupId>commons-io</groupId>
348336
<artifactId>commons-io</artifactId>
@@ -389,8 +377,8 @@
389377
<slf4j.version>1.7.25</slf4j.version>
390378
<logback.version>1.2.3</logback.version>
391379
<testng.version>6.9.10</testng.version>
392-
<jetty.version> 9.4.6.v20170531</jetty.version>
393-
<tomcat.version>6.0.45</tomcat.version>
380+
<jetty.version>9.4.6.v20170531</jetty.version>
381+
<tomcat.version>8.5.14</tomcat.version>
394382
<commons-io.version>2.4</commons-io.version>
395383
<commons-fileupload.version>1.3</commons-fileupload.version>
396384
<privilegedaccessor.version>1.2.2</privilegedaccessor.version>

0 commit comments

Comments
 (0)