// Setting up the I/O
setSocketWrapper(socketWrapper);
getInputBuffer().init(socketWrapper, endpoint);
getOutputBuffer().init(socketWrapper, endpoint);
b.调用InternalInputBuffer类的parseRequestLine方法,该方法内部从inputStream里面读取http请求头header信息,进行分析后把header中的信息设置到request中,如:
method,requestURI,protocol。
c.调用prepareRequest方法,对该请求的filter进行设置。
在前面的3.中,构造Http11Processor对象的时候,会调用initializeFilters方法向
InternalInputBuffer和InternalOutputBuffer中添加标准的filter
/**
* Initialize standard input and output filters.
*/
protected void initializeFilters(int maxTrailerSize) {
// Create and add the identity filters.
getInputBuffer().addFilter(new IdentityInputFilter());
getOutputBuffer().addFilter(new IdentityOutputFilter());
// Create and add the chunked filters.
getInputBuffer().addFilter(new ChunkedInputFilter(maxTrailerSize));
getOutputBuffer().addFilter(new ChunkedOutputFilter());
// Create and add the void filters.
getInputBuffer().addFilter(new VoidInputFilter());
getOutputBuffer().addFilter(new VoidOutputFilter());
// Create and add buffered input filter
getInputBuffer().addFilter(new BufferedInputFilter());
// Create and add the chunked filters.
//getInputBuffer().addFilter(new GzipInputFilter());
getOutputBuffer().addFilter(new GzipOutputFilter());
pluggableFilterIndex = getInputBuffer().getFilters().length;
}