|
1 | 1 | package com.ithit.webdav.samples.deltavservlet; |
2 | 2 |
|
| 3 | +import com.ithit.webdav.integration.servlet.HttpDavLoggingContext; |
| 4 | +import com.ithit.webdav.integration.servlet.HttpServletDavRequest; |
| 5 | +import com.ithit.webdav.integration.servlet.HttpServletDavResponse; |
3 | 6 | import com.ithit.webdav.server.DefaultLoggerImpl; |
4 | 7 | import com.ithit.webdav.server.Logger; |
5 | 8 | import com.ithit.webdav.server.deltav.AutoVersion; |
|
15 | 18 | import java.io.BufferedReader; |
16 | 19 | import java.io.FileReader; |
17 | 20 | import java.io.IOException; |
| 21 | +import java.io.PrintWriter; |
18 | 22 | import java.nio.file.Files; |
19 | 23 | import java.nio.file.Path; |
20 | 24 | import java.nio.file.Paths; |
@@ -85,7 +89,7 @@ static String getContext() { |
85 | 89 | public void init(ServletConfig servletConfig) throws ServletException { |
86 | 90 | super.init(servletConfig); |
87 | 91 |
|
88 | | - logger = new DefaultLoggerImpl(servletConfig.getServletContext()); |
| 92 | + logger = new DefaultLoggerImpl(new HttpDavLoggingContext(servletConfig.getServletContext())); |
89 | 93 |
|
90 | 94 | String licenseFile = servletConfig.getInitParameter("license"); |
91 | 95 | showExceptions = "true".equals(servletConfig.getInitParameter("showExceptions")); |
@@ -136,28 +140,29 @@ protected void service(HttpServletRequest httpServletRequest, HttpServletRespons |
136 | 140 | throws ServletException, IOException { |
137 | 141 |
|
138 | 142 | WebDavEngine engine = new WebDavEngine(logger, license); |
| 143 | + HttpServletDavRequest davRequest = new HttpServletDavRequest(httpServletRequest); |
| 144 | + HttpServletDavResponse davResponse = new HttpServletDavResponse(httpServletResponse); |
139 | 145 | CustomFolderGetHandler handler = new CustomFolderGetHandler(engine.getResponseCharacterEncoding(), engine.getVersion()); |
140 | 146 | CustomFolderGetHandler handlerHead = new CustomFolderGetHandler(engine.getResponseCharacterEncoding(), engine.getVersion()); |
141 | 147 | handler.setPreviousHandler(engine.registerMethodHandler("GET", handler)); |
142 | 148 | handlerHead.setPreviousHandler(engine.registerMethodHandler("HEAD", handlerHead)); |
143 | 149 |
|
144 | 150 | engine.setAutoPutUnderVersionControl(autoputUnderVersionControl); |
145 | 151 | engine.setAutoVersionMode(autoVersionMode); |
146 | | - engine.setServletRequest(httpServletRequest); |
| 152 | + engine.setServletRequest(davRequest); |
147 | 153 | engine.setSearchFacade(searchFacade); |
148 | 154 | HttpSession session = httpServletRequest.getSession(); |
149 | 155 | session.setAttribute("engine", engine); |
150 | 156 | DataAccess dataAccess = new DataAccess(engine); |
151 | 157 | engine.setDataAccess(dataAccess); |
152 | | - |
153 | 158 | try { |
154 | | - engine.service(httpServletRequest, httpServletResponse); |
| 159 | + engine.service(davRequest, davResponse); |
155 | 160 | dataAccess.commit(); |
156 | 161 | } catch (DavException e) { |
157 | 162 | if (e.getStatus() == WebDavStatus.INTERNAL_ERROR) { |
158 | 163 | logger.logError("Exception during request processing", e); |
159 | 164 | if (showExceptions) |
160 | | - e.printStackTrace(httpServletResponse.getWriter()); |
| 165 | + e.printStackTrace(new PrintWriter(davResponse.getOutputStream())); |
161 | 166 | } |
162 | 167 | } finally { |
163 | 168 | dataAccess.closeConnection(); |
|
0 commit comments