Skip to content

Commit 408218c

Browse files
Fixed EventViewer URL mapping.
1 parent 11406d9 commit 408218c

File tree

3 files changed

+62
-29
lines changed

3 files changed

+62
-29
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../target/classes

logback-webapp-lib/src/main/java/ch/qos/logback/webapp/EventViewer.java

Lines changed: 59 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -128,38 +128,25 @@ public void run ()
128128
}.start ();
129129
}
130130

131-
protected void doGet (final HttpServletRequest request, final HttpServletResponse response)
131+
protected void doError (final HttpServletRequest request, final HttpServletResponse response)
132132
throws IOException
133133
{
134+
response.setStatus (HttpServletResponse.SC_NOT_FOUND);
134135
response.setHeader ("Content-Type", "text/html");
135136
final PrintWriter stream = response.getWriter ();
136-
stream.write ("<html>\n");
137-
stream.write ("<head>\n");
138-
if (this.htmlHead != null)
139-
stream.write (this.htmlHead);
140-
stream.write ("</head>\n");
141-
stream.write ("<body>\n");
142-
final String path = request.getPathInfo ();
143-
if ((path == null) || path.equals ("/"))
144-
this.doGetMain (request, response);
145-
else if (path.equals ("/event-log"))
146-
this.doGetEventLog (request, response);
147-
else
148-
this.doGetError (request, response);
149-
stream.write ("</body>\n");
150-
stream.write ("</html>\n");
137+
this.doPageHeader (request, response, stream);
138+
stream.write ("<p>invalid URI</p>\n");
139+
this.doPageFooter (request, response, stream);
151140
stream.close ();
152-
153141
}
154142

155-
protected void doGetError (final HttpServletRequest request, final HttpServletResponse response)
156-
throws IOException
157-
{}
158-
159-
protected void doGetEventLog (final HttpServletRequest request, final HttpServletResponse response)
143+
protected void doEventLog (final HttpServletRequest request, final HttpServletResponse response)
160144
throws IOException
161145
{
146+
response.setStatus (HttpServletResponse.SC_OK);
147+
response.setHeader ("Content-Type", "text/html");
162148
final PrintWriter stream = response.getWriter ();
149+
this.doPageHeader (request, response, stream);
163150
final EventFilter filter = new EventFilter (request);
164151
synchronized (this.appender.monitor) {
165152
this.appender.drainEvents ();
@@ -170,20 +157,65 @@ protected void doGetEventLog (final HttpServletRequest request, final HttpServle
170157
stream.write (this.layout.doLayout (event));
171158
stream.write (this.layout.getPresentationFooter ());
172159
}
160+
this.doPageFooter (request, response, stream);
161+
stream.close ();
173162
}
174163

175-
protected void doGetMain (final HttpServletRequest request, final HttpServletResponse response)
164+
protected void doGet (final HttpServletRequest request, final HttpServletResponse response)
176165
throws IOException
177166
{
167+
final String path = request.getPathInfo ();
168+
if ((path == null) || path.equals ("/"))
169+
this.doMain (request, response);
170+
else if (path.equals ("/event-log"))
171+
this.doEventLog (request, response);
172+
else
173+
this.doError (request, response);
174+
}
175+
176+
protected void doMain (final HttpServletRequest request, final HttpServletResponse response)
177+
throws IOException
178+
{
179+
final String requestUri = request.getRequestURI ();
180+
final String query = request.getQueryString ();
181+
if (!requestUri.endsWith ("/")) {
182+
response.setStatus (HttpServletResponse.SC_MOVED_TEMPORARILY);
183+
response.setHeader ("Location", requestUri + "/" + ((query != null) ? query : ""));
184+
response.getOutputStream ().close ();
185+
return;
186+
}
187+
response.setStatus (HttpServletResponse.SC_OK);
188+
response.setHeader ("Content-Type", "text/html");
178189
final PrintWriter stream = response.getWriter ();
179-
190+
this.doPageHeader (request, response, stream);
180191
stream.write ("<iframe class=\"EventLog\" src=\"./event-log");
181-
final String query = request.getQueryString ();
182192
if ((query != null) && !query.isEmpty ()) {
183193
stream.write ("?");
184194
stream.write (query);
185-
stream.write ("\" frameborder=\"0\" scrolling=\"auto\" />");
186195
}
196+
stream.write ("\" frameborder=\"0\" scrolling=\"auto\" />");
197+
this.doPageFooter (request, response, stream);
198+
stream.close ();
199+
}
200+
201+
protected void doPageFooter (
202+
@SuppressWarnings ("unused") final HttpServletRequest request,
203+
@SuppressWarnings ("unused") final HttpServletResponse response, final PrintWriter stream)
204+
{
205+
stream.write ("</body>\n");
206+
stream.write ("</html>\n");
207+
}
208+
209+
protected void doPageHeader (
210+
@SuppressWarnings ("unused") final HttpServletRequest request,
211+
@SuppressWarnings ("unused") final HttpServletResponse response, final PrintWriter stream)
212+
{
213+
stream.write ("<html>\n");
214+
stream.write ("<head>\n");
215+
if (this.htmlHead != null)
216+
stream.write (this.htmlHead);
217+
stream.write ("</head>\n");
218+
stream.write ("<body>\n");
187219
}
188220

189221
private EventViewerAppender appender;
@@ -204,7 +236,7 @@ public EventFilter (final HttpServletRequest request)
204236
super ();
205237
this.levelValue = request.getParameter ("level");
206238
this.mdcValues = null;
207-
final Enumeration<String> parameterNames = request.getParameterNames ();
239+
@SuppressWarnings ("unchecked") final Enumeration<String> parameterNames = request.getParameterNames ();
208240
while (parameterNames.hasMoreElements ()) {
209241
final String parameterName = parameterNames.nextElement ();
210242
if (!parameterName.startsWith ("mdc."))

logback-webapp-lib/src/main/java/ch/qos/logback/webapp/EventViewerLayout.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ protected void buildConverters ()
113113
converterMap.putAll (map);
114114
}
115115
{
116-
final Map<String, String> map =
117-
(Map<String, String>) this.context.getObject (CoreConstants.PATTERN_RULE_REGISTRY);
116+
@SuppressWarnings ({"unchecked", "rawtypes"}) final Map<String, String> map =
117+
(Map) this.context.getObject (CoreConstants.PATTERN_RULE_REGISTRY);
118118
if (map != null)
119119
converterMap.putAll (map);
120120
}

0 commit comments

Comments
 (0)