1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.apache.commons.fileupload; 18 19 import java.io.InputStream; 20 import java.io.IOException; 21 22 /** 23 * <p>Abstracts access to the request information needed for file uploads. This 24 * interface should be implemented for each type of request that may be 25 * handled by FileUpload, such as servlets and portlets.</p> 26 * 27 * @since FileUpload 1.1 28 */ 29 public interface RequestContext { 30 31 /** 32 * Retrieve the character encoding for the request. 33 * 34 * @return The character encoding for the request. 35 */ 36 String getCharacterEncoding(); 37 38 /** 39 * Retrieve the content type of the request. 40 * 41 * @return The content type of the request. 42 */ 43 String getContentType(); 44 45 /** 46 * Retrieve the content length of the request. 47 * 48 * @return The content length of the request. 49 * @deprecated 1.3 Use {@link UploadContext#contentLength()} instead 50 */ 51 @Deprecated 52 int getContentLength(); 53 54 /** 55 * Retrieve the input stream for the request. 56 * 57 * @return The input stream for the request. 58 * 59 * @throws IOException if a problem occurs. 60 */ 61 InputStream getInputStream() throws IOException; 62 63 }