/*
* $Id: MuleHttpServletRequest.java 21020 2011-01-14 08:13:37Z dirk.olmes $
* --------------------------------------------------------------------------------------
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
*
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule.transport.http.servlet;
import org.mule.api.MuleEvent;
import org.mule.api.MuleMessage;
import org.mule.transport.http.HttpConnector;
import org.mule.transport.http.HttpConstants;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.Principal;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletInputStream;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.collections.iterators.IteratorEnumeration;
/**
* THIS CLASS IS UNSUPPORTED AND THE IMPLEMENTATION DOES NOT CONFORM TO THE SERVLET SPECIFICATION!
*/
public class MuleHttpServletRequest implements HttpServletRequest
{
private MuleEvent event;
private MuleMessage message;
public MuleHttpServletRequest(MuleEvent event)
{
super();
this.event = event;
this.message = event.getMessage();
}
public Object getAttribute(String name)
{
return null;
}
public Enumeration getAttributeNames()
{
return null;
}
public String getCharacterEncoding()
{
return null;
}
public void setCharacterEncoding(String env) throws UnsupportedEncodingException
{
}
public int getContentLength()
{
return 0;
}
public String getContentType()
{
return message.getInboundProperty(HttpConstants.HEADER_CONTENT_TYPE);
}
public ServletInputStream getInputStream() throws IOException
{
return new ServletInputStream()
{
@Override
public int read() throws IOException
{
return 0;
}
};
}
public String getParameter(String name)
{
return null;
}
public Enumeration getParameterNames()
{
return null;
}
public String[] getParameterValues(String name)
{
return null;
}
public Map getParameterMap()
{
return null;
}
public String getProtocol()
{
return null;
}
public String getScheme()
{
return event.getEndpoint().getEndpointURI().getScheme();
}
public String getServerName()
{
return null;
}
public int getServerPort()
{
return 0;
}
public BufferedReader getReader() throws IOException
{
return null;
}
public String getRemoteAddr()
{
return null;
}
public String getRemoteHost()
{
return null;
}
public void setAttribute(String name, Object o)
{
}
public void removeAttribute(String name)
{
}
public Locale getLocale()
{
return null;
}
public Enumeration getLocales()
{
return null;
}
public boolean isSecure()
{
return false;
}
public RequestDispatcher getRequestDispatcher(String path)
{
return null;
}
public String getRealPath(String path)
{
return null;
}
public int getRemotePort()
{
return 0;
}
public String getLocalName()
{
return null;
}
public String getLocalAddr()
{
return null;
}
public int getLocalPort()
{
return 0;
}
public String getAuthType()
{
return null;
}
public Cookie[] getCookies()
{
org.apache.commons.httpclient.Cookie[] cookies = message.getInboundProperty(HttpConnector.HTTP_COOKIES_PROPERTY);
if (cookies == null) return null;
Cookie[] servletCookies = new Cookie[cookies.length];
for (org.apache.commons.httpclient.Cookie c : cookies)
{
Cookie servletCookie = new Cookie(c.getName(), c.getValue());
servletCookie.setComment(c.getComment());
servletCookie.setDomain(c.getDomain());
}
return servletCookies;
}
public long getDateHeader(String name)
{
return 0;
}
public String getHeader(String name)
{
return message.getInboundProperty(name);
}
public Enumeration getHeaders(String name)
{
return new IteratorEnumeration(Arrays.asList(getHeader(name)).iterator());
}
public Enumeration getHeaderNames()
{
Iterator<String> iterator = message.getInboundPropertyNames().iterator();
return new IteratorEnumeration(iterator);
}
public int getIntHeader(String name)
{
return 0;
}
public String getMethod()
{
return null;
}
public String getPathInfo()
{
return null;
}
public String getPathTranslated()
{
return null;
}
public String getContextPath()
{
return null;
}
public String getQueryString()
{
return null;
}
public String getRemoteUser()
{
return null;
}
public boolean isUserInRole(String role)
{
return false;
}
public Principal getUserPrincipal()
{
return null;
}
public String getRequestedSessionId()
{
return null;
}
public String getRequestURI()
{
return null;
}
public StringBuffer getRequestURL()
{
return null;
}
public String getServletPath()
{
return null;
}
public HttpSession getSession(boolean create)
{
return null;
}
public HttpSession getSession()
{
return null;
}
public boolean isRequestedSessionIdValid()
{
return false;
}
public boolean isRequestedSessionIdFromCookie()
{
return false;
}
public boolean isRequestedSessionIdFromURL()
{
return false;
}
public boolean isRequestedSessionIdFromUrl()
{
return false;
}
}