   ## Examples
 
       iex> "GET /path?qs HTTP/1.1\\r\\nhost: example.com\\r\\naccept: text/plain\\r\\n\\r\\n"
-      ...> |> Raxx.HTTP1.parse_request(:http)
+      ...> |> Raxx.HTTP1.parse_request(scheme: :http)
       {:ok,
        {%Raxx.Request{
          authority: "example.com",

       }, nil, {:complete, ""}, ""}}

      iex> "GET /path?qs HTTP/1.1\\r\\nhost: example.com\\r\\naccept: text/plain\\r\\n\\r\\n"
      ...> |> Raxx.HTTP1.parse_request(:https)
      {:ok,
       {%Raxx.Request{
         authority: "example.com",

       }, nil, {:bytes, 13}, ""}}

      iex> "GET /path?qs HT"
      ...> |> Raxx.HTTP1.parse_request(scheme: :http)
      {:more, "GET /path?qs HT"}

      iex> "GET /path?qs HTTP/1.1\\r\\nhost: exa"
      ...> |> Raxx.HTTP1.parse_request(scheme: :http)
      {:more, "GET /path?qs HTTP/1.1\\r\\nhost: exa"}

      # Missing host header
      iex> "GET /path?qs HTTP/1.1\\r\\naccept: text/plain\\r\\n\\r\\n"
      ...> |> Raxx.HTTP1.parse_request(scheme: :http)
      {:error, :no_host_header}

      # Invalid start line
      iex> "!!!BAD_REQUEST_LINE\\r\\n"
      ...> |> Raxx.HTTP1.parse_request(scheme: :http)
      {:error, {:invalid_line, "!!!BAD_REQUEST_LINE\\r\\n"}}

      # Invalid header line
      iex> "GET / HTTP/1.1\\r\\n!!!BAD_HEADER\\r\\n\\r\\n"
      ...> |> Raxx.HTTP1.parse_request(scheme: :http)
      {:error, {:invalid_line, "!!!BAD_HEADER\\r\\n"}}

      # Test connection status is extracted
      iex> "GET /path?qs HTTP/1.1\\r\\nhost: example.com\\r\\nconnection: close\\r\\naccept: text/plain\\r\\n\\r\\n"
      ...> |> Raxx.HTTP1.parse_request(scheme: :http)
      {:ok,
       {%Raxx.Request{
         authority: "example.com",
