comparison src/org/eclipse/jetty/server/AbstractHttpConnection.java @ 981:f46de416e219

remove HttpInput
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 16 Oct 2016 21:10:25 -0600
parents bd26bd9320e2
children dbecd7faa1f5
comparison
equal deleted inserted replaced
980:bd26bd9320e2 981:f46de416e219
175 } 175 }
176 _expect100Continue=false; 176 _expect100Continue=false;
177 } 177 }
178 178
179 if (_in == null) 179 if (_in == null)
180 _in = new HttpInput(AbstractHttpConnection.this); 180 _in = new HttpInput();
181 return _in; 181 return _in;
182 } 182 }
183 183
184 /* ------------------------------------------------------------ */ 184 /* ------------------------------------------------------------ */
185 /** 185 /**
222 } 222 }
223 }; 223 };
224 } 224 }
225 _writer.setCharacterEncoding(encoding); 225 _writer.setCharacterEncoding(encoding);
226 return _printWriter; 226 return _printWriter;
227 }
228
229 public final boolean isEarlyEOF()
230 {
231 return _earlyEOF;
232 } 227 }
233 228
234 protected void reset() 229 protected void reset()
235 { 230 {
236 _parser.reset(); 231 _parser.reset();
770 throw new IOException("Closed"); 765 throw new IOException("Closed");
771 PrintWriter writer=getPrintWriter(null); 766 PrintWriter writer=getPrintWriter(null);
772 writer.print(s); 767 writer.print(s);
773 } 768 }
774 769
775 /* ------------------------------------------------------------ */
776 public void sendResponse(Buffer response) throws IOException 770 public void sendResponse(Buffer response) throws IOException
777 { 771 {
778 ((HttpGenerator)super._generator).sendResponse(response); 772 ((HttpGenerator)super._generator).sendResponse(response);
779 } 773 }
780 774
781 /* ------------------------------------------------------------ */
782 public void sendContent(Object content) throws IOException 775 public void sendContent(Object content) throws IOException
783 { 776 {
784 Resource resource=null; 777 Resource resource=null;
785 778
786 if (isClosed()) 779 if (isClosed())
833 in.close(); 826 in.close();
834 } 827 }
835 } 828 }
836 else 829 else
837 throw new IllegalArgumentException("unknown content type?"); 830 throw new IllegalArgumentException("unknown content type?");
838 831 }
839 832 }
833
834
835 private final class HttpInput extends ServletInputStream
836 {
837 /* ------------------------------------------------------------ */
838 /*
839 * @see java.io.InputStream#read()
840 */
841 @Override
842 public int read() throws IOException
843 {
844 byte[] bytes = new byte[1];
845 int read = read(bytes, 0, 1);
846 return read < 0 ? -1 : 0xff & bytes[0];
847 }
848
849 /* ------------------------------------------------------------ */
850 /*
851 * @see java.io.InputStream#read(byte[], int, int)
852 */
853 @Override
854 public int read(byte[] b, int off, int len) throws IOException
855 {
856 int l = -1;
857 Buffer content = _parser.blockForContent(getMaxIdleTime());
858 if (content!=null)
859 l = content.get(b, off, len);
860 else if (_earlyEOF)
861 throw new EofException("early EOF");
862 return l;
863 }
864
865 @Override
866 public int available() throws IOException
867 {
868 return _parser.available();
840 } 869 }
841 } 870 }
842 871
843 } 872 }