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); }