001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package org.apache.commons.fileupload.servlet;
018:
019: import java.io.InputStream;
020: import java.io.IOException;
021: import javax.servlet.http.HttpServletRequest;
022: import org.apache.commons.fileupload.RequestContext;
023:
024: /**
025: * <p>Provides access to the request information needed for a request made to
026: * an HTTP servlet.</p>
027: *
028: * @author <a href="mailto:martinc@apache.org">Martin Cooper</a>
029: *
030: * @since FileUpload 1.1
031: *
032: * @version $Id: ServletRequestContext.java 479262 2006-11-26 03:09:24Z niallp $
033: */
034: public class ServletRequestContext implements RequestContext {
035:
036: // ----------------------------------------------------- Instance Variables
037:
038: /**
039: * The request for which the context is being provided.
040: */
041: private HttpServletRequest request;
042:
043: // ----------------------------------------------------------- Constructors
044:
045: /**
046: * Construct a context for this request.
047: *
048: * @param request The request to which this context applies.
049: */
050: public ServletRequestContext(HttpServletRequest request) {
051: this .request = request;
052: }
053:
054: // --------------------------------------------------------- Public Methods
055:
056: /**
057: * Retrieve the character encoding for the request.
058: *
059: * @return The character encoding for the request.
060: */
061: public String getCharacterEncoding() {
062: return request.getCharacterEncoding();
063: }
064:
065: /**
066: * Retrieve the content type of the request.
067: *
068: * @return The content type of the request.
069: */
070: public String getContentType() {
071: return request.getContentType();
072: }
073:
074: /**
075: * Retrieve the content length of the request.
076: *
077: * @return The content length of the request.
078: */
079: public int getContentLength() {
080: return request.getContentLength();
081: }
082:
083: /**
084: * Retrieve the input stream for the request.
085: *
086: * @return The input stream for the request.
087: *
088: * @throws IOException if a problem occurs.
089: */
090: public InputStream getInputStream() throws IOException {
091: return request.getInputStream();
092: }
093:
094: /**
095: * Returns a string representation of this object.
096: *
097: * @return a string representation of this object.
098: */
099: public String toString() {
100: return "ContentLength=" + this .getContentLength()
101: + ", ContentType=" + this.getContentType();
102: }
103: }
|