/** * Logback: the reliable, generic, fast and flexible logging framework. * Copyright (C) 1999-2015, QOS.ch. All rights reserved. * * This program and the accompanying materials are dual-licensed under * either the terms of the Eclipse Public License v1.0 as published by * the Eclipse Foundation * * or (per the licensee's choosing) * * under the terms of the GNU Lesser General Public License version 2.1 * as published by the Free Software Foundation. */ package ch.qos.logback.access.dummy; import ch.qos.logback.access.AccessConstants; import javax.servlet.*; import javax.servlet.http.*; import java.io.BufferedReader; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.Principal; import java.util.*; public class DummyRequest implements HttpServletRequest { public final static String DUMMY_CONTENT_STRING = "request contents"; public final static byte[] DUMMY_CONTENT_BYTES = DUMMY_CONTENT_STRING.getBytes(); public static final Map<String, Object> DUMMY_DEFAULT_ATTR_MAP = new HashMap<String, Object>(); public static final String DUMMY_RESPONSE_CONTENT_STRING = "response contents"; public static final byte[] DUMMY_RESPONSE_CONTENT_BYTES = DUMMY_RESPONSE_CONTENT_STRING.getBytes(); Hashtable<String, String> headerMap; Hashtable<String, String[]> parameterMap; String uri; Map<String, Object> attributes; static { DUMMY_DEFAULT_ATTR_MAP.put("testKey", "testKey"); DUMMY_DEFAULT_ATTR_MAP.put(AccessConstants.LB_INPUT_BUFFER, DUMMY_CONTENT_BYTES); DUMMY_DEFAULT_ATTR_MAP.put(AccessConstants.LB_OUTPUT_BUFFER, DUMMY_RESPONSE_CONTENT_BYTES); } public DummyRequest() { headerMap = new Hashtable<String, String>(); headerMap.put("headerName1", "headerValue1"); headerMap.put("headerName2", "headerValue2"); parameterMap = new Hashtable<String, String[]>(); parameterMap.put("param1", new String[] {"value1"}); attributes = new HashMap<String, Object>(DUMMY_DEFAULT_ATTR_MAP); } public String getAuthType() { return null; } public String getContextPath() { return null; } public Cookie[] getCookies() { Cookie cookie = new Cookie("testName", "testCookie"); return new Cookie[] { cookie }; } public long getDateHeader(String arg0) { return 0; } public String getHeader(String key) { return headerMap.get(key); } @Override public Enumeration<String> getHeaderNames() { return headerMap.keys(); } @Override public Enumeration<String> getHeaders(String arg) { return null; } public Map<String, String> getHeaders() { return headerMap; } public int getIntHeader(String arg0) { return 0; } public String getMethod() { return "testMethod"; } public String getPathInfo() { return null; } public String getPathTranslated() { return null; } public String getQueryString() { return null; } public String getRemoteUser() { return "testUser"; } public String getRequestURI() { return uri; } public StringBuffer getRequestURL() { return new StringBuffer(uri); } public String getRequestedSessionId() { return null; } public String getServletPath() { return null; } public HttpSession getSession() { return null; } public HttpSession getSession(boolean arg0) { return null; } public Principal getUserPrincipal() { return null; } public boolean isRequestedSessionIdFromCookie() { return false; } public boolean isRequestedSessionIdFromURL() { return false; } public boolean isRequestedSessionIdFromUrl() { return false; } public boolean authenticate(HttpServletResponse response) throws IOException, ServletException { return false; // To change body of implemented methods use File | Settings | File Templates. } public void login(String username, String password) throws ServletException { // To change body of implemented methods use File | Settings | File Templates. } public void logout() throws ServletException { // To change body of implemented methods use File | Settings | File Templates. } public Collection<Part> getParts() throws IOException, IllegalStateException, ServletException { return null; // To change body of implemented methods use File | Settings | File Templates. } public Part getPart(String name) throws IOException, IllegalStateException, ServletException { return null; // To change body of implemented methods use File | Settings | File Templates. } public boolean isRequestedSessionIdValid() { return false; } public boolean isUserInRole(String arg0) { return false; } public Object getAttribute(String key) { return attributes.get(key); } public Enumeration<String> getAttributeNames() { return Collections.enumeration(attributes.keySet()); } public String getCharacterEncoding() { return null; } public int getContentLength() { return 0; } public String getContentType() { return null; } public ServletInputStream getInputStream() throws IOException { return null; } public String getLocalAddr() { return null; } public String getLocalName() { return null; } public int getLocalPort() { return 11; } public ServletContext getServletContext() { return null; // To change body of implemented methods use File | Settings | File Templates. } public AsyncContext startAsync() { return null; // To change body of implemented methods use File | Settings | File Templates. } public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) { return null; // To change body of implemented methods use File | Settings | File Templates. } public boolean isAsyncStarted() { return false; // To change body of implemented methods use File | Settings | File Templates. } public boolean isAsyncSupported() { return false; // To change body of implemented methods use File | Settings | File Templates. } public AsyncContext getAsyncContext() { return null; // To change body of implemented methods use File | Settings | File Templates. } public DispatcherType getDispatcherType() { return null; // To change body of implemented methods use File | Settings | File Templates. } public Locale getLocale() { return null; } @Override public Enumeration<Locale> getLocales() { return null; } public String getParameter(String arg) { String[] stringArray = parameterMap.get(arg); if(stringArray == null || stringArray.length == 0) return null; else return stringArray[0]; } @Override public Map<String, String[]> getParameterMap() { return parameterMap; } public Enumeration<String> getParameterNames() { return parameterMap.keys(); //eturn Collections.enumeration(parameterMap.keySet()); } public String[] getParameterValues(String arg) { return parameterMap.get(arg); } public String getProtocol() { return "testProtocol"; } public BufferedReader getReader() throws IOException { return null; } public String getRealPath(String arg0) { return null; } public String getRemoteAddr() { return "testRemoteAddress"; } public String getRemoteHost() { return "testHost"; } public int getRemotePort() { return 0; } public RequestDispatcher getRequestDispatcher(String arg0) { return null; } public String getScheme() { return null; } public String getServerName() { return "testServerName"; } public int getServerPort() { return 0; } public boolean isSecure() { return false; } public void removeAttribute(String arg0) { } public void setAttribute(String name, Object value) { attributes.put(name, value); } public void setCharacterEncoding(String arg0) throws UnsupportedEncodingException { } public void setRequestUri(String uri) { this.uri = uri; } @Override public long getContentLengthLong() { // TODO Auto-generated method stub return 0; } @Override public String changeSessionId() { return null; } @Override public <T extends HttpUpgradeHandler> T upgrade(Class<T> httpUpgradeHandlerClass) throws IOException, ServletException { return null; } }