private HttpHeader getHttpHeader(int length){
		len = len + length;
		splitbyte = findHeaderEnd(bytes, len);
		if(splitbyte > 0){//find http header end
			findHttpHeader = true;
			httpHeader = new HttpHeader();
			// Create a BufferedReader for parsing the header.
			ByteArrayInputStream hbis = new ByteArrayInputStream(bytes, 0, splitbyte);
			BufferedReader hin = new BufferedReader( new InputStreamReader(hbis));
			Properties pre = new Properties();
			Properties parms = new Properties();
			Properties header = new Properties();
			Properties files = new Properties();
			
			// Decode the header into parms and header java properties
			decodeHeader(hin, pre, parms, header);
			httpHeader.setFiles(files);
			httpHeader.setHeader(header);
			httpHeader.setParms(parms);
			httpHeader.setPre(pre);
			
			String contentLength = httpHeader.getHeader().getProperty("content-length");
			if (contentLength != null)
			{
				try { size = Integer.parseInt(contentLength); }
				catch (NumberFormatException ex) {
					//reject the request, is unlegal request
				}
			}
			if (splitbyte < len){
				f.write(bytes, splitbyte, len-splitbyte);
				size = size - (len-splitbyte+1);
				len = 0;//now can reuse bytes
			}else if (splitbyte==0 || size == 0x7FFFFFFFFFFFFFFFl){ //contentLength = 0
				size = 0;
			}
			return httpHeader;
		}else{ //not find http header yet
			//when len >= 8196 and not find http header yet ,the request is unlegal,reject
			if(len > 8196){
				isUnLegalRequest = true;
			}
		}
		return null;
	}