code: public void readHeader(LineInput in) throws IOException
      {
          _state = __MSG_BAD;
  
          // Get start line
          org.browsermob.proxy.jetty.util.LineInput.LineBuffer line_buffer;
  
          do
          {
              line_buffer = in.readLineBuffer();
              if (line_buffer == null) throw new EOFException();
          }
          while (line_buffer.size == 0);
  
          if (line_buffer.size >= __maxLineLength)
                  throw new HttpException(HttpResponse.__414_Request_URI_Too_Large);
          decodeRequestLine(line_buffer.buffer, line_buffer.size);
          _timeStamp = System.currentTimeMillis();
  
          // Handle version - replace with fast compare
          if (__HTTP_1_1.equals(_version))
          {
              _dotVersion = 1;
              _version = __HTTP_1_1;
              _header.read(in);
              updateMimeType();
          }
          else if (__HTTP_0_9.equals(_version))
          {
              _dotVersion = -1;
              _version = __HTTP_0_9;
          }
          else
          {
              _dotVersion = 0;
              _version = __HTTP_1_0;
              _header.read(in);
              updateMimeType();
          }
  
          _handled = false;
          _state = __MSG_RECEIVED;
      }
docs: Read the request line and header.
  
  @param in
  @exception IOException