         headers: [{"content-length", "13"}, {"content-type", "text/plain"}],
         body: true
       }, {:bytes, 13}, ""}
+
+      iex> "HTTP/1.1 204 No Con"
+      ...> |> Raxx.HTTP1.parse_response()
+      {:more, :undefined}
+
+      iex> "HTTP/1.1 204 No Content\\r\\nfo"
+      ...> |> Raxx.HTTP1.parse_response()
+      {:more, :undefined}
   """
   def parse_response(buffer) do
     case :erlang.decode_packet(:http_bin, buffer, []) do

          {:ok, headers, rest2} ->
            {headers, body, state} = decode_payload(headers)
            {:ok, %Raxx.Response{status: status, headers: headers, body: body}, state, rest2}
        end
    end
  end


    end
  end

  # TODO handle path nil
  defp start_line(%Raxx.Request{method: method, raw_path: path, query: query}) do
    query_string = if query, do: ["?", query], else: ""
    [Atom.to_string(method), " ", path, query_string, " HTTP/1.1", @crlf]
