recent methods are badly implemented
For exemple CAS redirection while handling messages.xml when disconnected leads to
java.lang.NullPointerException: Cannot invoke "java.lang.StringBuffer.toString()" because the return value of "javax.servlet.http.HttpServletRequest.getRequestURL()" is null at org.jasig.cas.client.util.CommonUtils.constructServiceUrl(CommonUtils.java:334) at org.jasig.cas.client.util.AbstractCasFilter.constructServiceUrl(AbstractCasFilter.java:107) at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:186)
Should be
public StringBuffer getRequestURL()
{
return request.getRequestURL();
}
public Map<String, String[]> getParameterMap()
{
return request.getParameterMap();
}
public void setCharacterEncoding(String arg0) throws UnsupportedEncodingException
{
this.setCharacterEncoding(arg0);
}
more recent methods are not implemented at all
public long getContentLengthLong()
{
return request.getContentLengthLong();
}
public int getRemotePort()
{
return request.getRemotePort();
}
public String getLocalName()
{
return request.getLocalName();
}
public String getLocalAddr()
{
return request.getLocalAddr();
}
public int getLocalPort()
{
return request.getLocalPort();
}
public ServletContext getServletContext()
{
return request.getServletContext();
}
public AsyncContext startAsync() throws IllegalStateException
{
return request.startAsync();
}
public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws IllegalStateException
{
return request.startAsync(servletRequest, servletResponse);
}
public boolean isAsyncStarted()
{
return request.isAsyncStarted();
}
public boolean isAsyncSupported()
{
return request.isAsyncSupported();
}
public AsyncContext getAsyncContext()
{
return request.getAsyncContext();
}
public DispatcherType getDispatcherType()
{
return request.getDispatcherType();
}
public String changeSessionId()
{
return request.changeSessionId();
}
public boolean authenticate(HttpServletResponse response) throws IOException, ServletException
{
return request.authenticate(response);
}
public void login(String username, String password) throws ServletException
{
request.login(username, password);
}
public void logout() throws ServletException
{
request.logout();
}
public Collection<javax.servlet.http.Part> getParts() throws IOException, ServletException
{
return request.getParts();
}
public javax.servlet.http.Part getPart(String name) throws IOException, ServletException
{
return request.getPart(name);
}
public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) throws IOException, ServletException
{
return request.upgrade(handlerClass);
}