docs: protected void readStatusLine(HttpState state, HttpConnection conn)
      throws IOException, HttpException {
          LOG.trace("enter HttpMethodBase.readStatusLine(HttpState, HttpConnection)");
  
          final int maxGarbageLines = getParams().
              getIntParameter(HttpMethodParams.STATUS_LINE_GARBAGE_LIMIT, Integer.MAX_VALUE);
  
          //read out the HTTP status string
          int count = 0;
          String s;
          do {
              s = conn.readLine(getParams().getHttpElementCharset());
              if (s == null && count == 0) {
                  // The server just dropped connection on us
                  throw new NoHttpResponseException("The server " + conn.getHost() + 
                      " failed to respond");
              }
              if (s != null && StatusLine.startsWithHTTP(s)) {
                  // Got one
                  break;
              } else if (s == null || count >= maxGarbageLines) {
                  // Giving up
                  throw new ProtocolException("The server " + conn.getHost() + 
                          " failed to respond with a valid HTTP response");
              }
              count++;
          } while(true);
  
          //create the status line from the status string
          statusLine = new StatusLine(s);
  
          //check for a valid HTTP-Version
          String versionStr = statusLine.getHttpVersion();
          if (getParams().isParameterFalse(HttpMethodParams.UNAMBIGUOUS_STATUS_LINE) 
             && versionStr.equals("HTTP")) {
              getParams().setVersion(HttpVersion.HTTP_1_0);
              if (LOG.isWarnEnabled()) {
                  LOG.warn("Ambiguous status line (HTTP protocol version missing):" +
                  statusLine.toString());
              }
          } else {
              this.effectiveVersion = HttpVersion.parse(versionStr);
          }
  
      }