001
014
015 package com.liferay.portal.upload;
016
017 import java.io.IOException;
018
019 import javax.servlet.ServletInputStream;
020 import javax.servlet.http.HttpServletRequest;
021 import javax.servlet.http.HttpServletRequestWrapper;
022
023
027 public class LiferayServletRequest extends HttpServletRequestWrapper {
028
029 public LiferayServletRequest(HttpServletRequest request) {
030 super(request);
031
032 _request = request;
033 }
034
035 public void cleanUp() {
036 if (_lis != null) {
037 _lis.cleanUp();
038 }
039 }
040
041 @Override
042 public ServletInputStream getInputStream() throws IOException {
043 if (_lis == null) {
044 _lis = new LiferayInputStream(_request);
045 }
046
047 if (_finishedReadingOriginalStream) {
048
049
050
051
052
053 if (_cachedInputStream == null) {
054 _cachedInputStream = _lis.getCachedInputStream();
055 }
056
057 return _cachedInputStream;
058 }
059 else {
060 return _lis;
061 }
062 }
063
064 public void setFinishedReadingOriginalStream(
065 boolean finishedReadingOriginalStream) {
066
067 _finishedReadingOriginalStream = finishedReadingOriginalStream;
068 }
069
070 private ServletInputStream _cachedInputStream = null;
071 private boolean _finishedReadingOriginalStream = false;
072 private LiferayInputStream _lis = null;
073 private HttpServletRequest _request;
074
075 }