Mercurial Hosting > luan
comparison src/org/eclipse/jetty/server/Response.java @ 911:cab5830e1ab0
remove ErrorHandler
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sat, 08 Oct 2016 21:37:13 -0600 |
parents | df84a1741687 |
children | 5ee36654b383 |
comparison
equal
deleted
inserted
replaced
910:9b65e8064f90 | 911:cab5830e1ab0 |
---|---|
44 import org.eclipse.jetty.http.HttpURI; | 44 import org.eclipse.jetty.http.HttpURI; |
45 import org.eclipse.jetty.http.HttpVersions; | 45 import org.eclipse.jetty.http.HttpVersions; |
46 import org.eclipse.jetty.http.MimeTypes; | 46 import org.eclipse.jetty.http.MimeTypes; |
47 import org.eclipse.jetty.io.BufferCache.CachedBuffer; | 47 import org.eclipse.jetty.io.BufferCache.CachedBuffer; |
48 import org.eclipse.jetty.server.handler.ContextHandler; | 48 import org.eclipse.jetty.server.handler.ContextHandler; |
49 import org.eclipse.jetty.server.handler.ErrorHandler; | |
50 import org.eclipse.jetty.util.ByteArrayISO8859Writer; | 49 import org.eclipse.jetty.util.ByteArrayISO8859Writer; |
51 import org.eclipse.jetty.util.QuotedStringTokenizer; | 50 import org.eclipse.jetty.util.QuotedStringTokenizer; |
52 import org.eclipse.jetty.util.StringUtil; | 51 import org.eclipse.jetty.util.StringUtil; |
53 import org.eclipse.jetty.util.URIUtil; | 52 import org.eclipse.jetty.util.URIUtil; |
54 import org.slf4j.Logger; | 53 import org.slf4j.Logger; |
245 code!=SC_PARTIAL_CONTENT && | 244 code!=SC_PARTIAL_CONTENT && |
246 code>=SC_OK) | 245 code>=SC_OK) |
247 { | 246 { |
248 Request request = _connection.getRequest(); | 247 Request request = _connection.getRequest(); |
249 | 248 |
250 ErrorHandler error_handler = null; | 249 setHeader(HttpHeaders.CACHE_CONTROL, "must-revalidate,no-cache,no-store"); |
251 ContextHandler.Context context = request.getContext(); | 250 setContentType(MimeTypes.TEXT_HTML_8859_1); |
252 if (context!=null) | 251 ByteArrayISO8859Writer writer= new ByteArrayISO8859Writer(2048); |
253 error_handler=context.getContextHandler().getErrorHandler(); | 252 if (message != null) |
254 if (error_handler==null) | 253 { |
255 error_handler = _connection.getConnector().server.getBean(ErrorHandler.class); | 254 message= StringUtil.replace(message, "&", "&"); |
256 if (error_handler!=null) | 255 message= StringUtil.replace(message, "<", "<"); |
257 { | 256 message= StringUtil.replace(message, ">", ">"); |
258 request.setAttribute(RequestDispatcher.ERROR_STATUS_CODE,new Integer(code)); | 257 } |
259 request.setAttribute(RequestDispatcher.ERROR_MESSAGE, message); | 258 String uri= request.getRequestURI(); |
260 request.setAttribute(RequestDispatcher.ERROR_REQUEST_URI, request.getRequestURI()); | 259 if (uri!=null) |
261 error_handler.handle(null,_connection.getRequest(),_connection.getRequest(),this ); | 260 { |
262 } | 261 uri= StringUtil.replace(uri, "&", "&"); |
263 else | 262 uri= StringUtil.replace(uri, "<", "<"); |
264 { | 263 uri= StringUtil.replace(uri, ">", ">"); |
265 setHeader(HttpHeaders.CACHE_CONTROL, "must-revalidate,no-cache,no-store"); | 264 } |
266 setContentType(MimeTypes.TEXT_HTML_8859_1); | 265 |
267 ByteArrayISO8859Writer writer= new ByteArrayISO8859Writer(2048); | 266 writer.write("<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=ISO-8859-1\"/>\n"); |
268 if (message != null) | 267 writer.write("<title>Error "); |
269 { | 268 writer.write(Integer.toString(code)); |
270 message= StringUtil.replace(message, "&", "&"); | 269 writer.write(' '); |
271 message= StringUtil.replace(message, "<", "<"); | 270 if (message==null) |
272 message= StringUtil.replace(message, ">", ">"); | 271 message=HttpStatus.getMessage(code); |
273 } | 272 writer.write(message); |
274 String uri= request.getRequestURI(); | 273 writer.write("</title>\n</head>\n<body>\n<h2>HTTP ERROR: "); |
275 if (uri!=null) | 274 writer.write(Integer.toString(code)); |
276 { | 275 writer.write("</h2>\n<p>Problem accessing "); |
277 uri= StringUtil.replace(uri, "&", "&"); | 276 writer.write(uri); |
278 uri= StringUtil.replace(uri, "<", "<"); | 277 writer.write(". Reason:\n<pre> "); |
279 uri= StringUtil.replace(uri, ">", ">"); | 278 writer.write(message); |
280 } | 279 writer.write("</pre>"); |
281 | 280 writer.write("</p>\n<hr /><i><small>Powered by Jetty://</small></i>"); |
282 writer.write("<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=ISO-8859-1\"/>\n"); | 281 |
283 writer.write("<title>Error "); | 282 for (int i= 0; i < 20; i++) |
284 writer.write(Integer.toString(code)); | 283 writer.write("\n "); |
285 writer.write(' '); | 284 writer.write("\n</body>\n</html>\n"); |
286 if (message==null) | 285 |
287 message=HttpStatus.getMessage(code); | 286 writer.flush(); |
288 writer.write(message); | 287 setContentLength(writer.size()); |
289 writer.write("</title>\n</head>\n<body>\n<h2>HTTP ERROR: "); | 288 writer.writeTo(getOutputStream()); |
290 writer.write(Integer.toString(code)); | 289 writer.destroy(); |
291 writer.write("</h2>\n<p>Problem accessing "); | |
292 writer.write(uri); | |
293 writer.write(". Reason:\n<pre> "); | |
294 writer.write(message); | |
295 writer.write("</pre>"); | |
296 writer.write("</p>\n<hr /><i><small>Powered by Jetty://</small></i>"); | |
297 | |
298 for (int i= 0; i < 20; i++) | |
299 writer.write("\n "); | |
300 writer.write("\n</body>\n</html>\n"); | |
301 | |
302 writer.flush(); | |
303 setContentLength(writer.size()); | |
304 writer.writeTo(getOutputStream()); | |
305 writer.destroy(); | |
306 } | |
307 } | 290 } |
308 else if (code!=SC_PARTIAL_CONTENT) | 291 else if (code!=SC_PARTIAL_CONTENT) |
309 { | 292 { |
310 _connection.getRequestFields().remove(HttpHeaders.CONTENT_TYPE_BUFFER); | 293 _connection.getRequestFields().remove(HttpHeaders.CONTENT_TYPE_BUFFER); |
311 _connection.getRequestFields().remove(HttpHeaders.CONTENT_LENGTH_BUFFER); | 294 _connection.getRequestFields().remove(HttpHeaders.CONTENT_LENGTH_BUFFER); |