Привет, я читаю запрос, где я хочу получить путь, но когда я запускаю этот код
{:ok, line} = :gen_tcp.recv(socket, 0)
IO.inspect "************************* #{ inspect line} "
[_server_name, verb, info_path, _version] = String.split(line)
Где проверка выглядит нормально с 4 аргументами
{:http_request, :GET, {:abs_path, \"/gg\"}, {1, 1}}
В сообщении об ошибке говорится:
{badarg,[{binary,split,
[{http_request,'GET',{abs_path,<<"/gg">>},{1,1}},
[<<227,128,128>>,
<<226,129,159>>,
<<226,128,169>>,
<<226,128,168>>,
<<226,128,128>>,
<<226,128,129>>,
<<226,128,130>>,
<<226,128,131>>,
<<226,128,132>>,
<<226,128,133>>,
<<226,128,134>>,
<<226,128,136>>,
<<226,128,137>>,
<<226,128,138>>,
<<225,154,128>>,
<<194,133>>,
<<" ">>,<<"\t">>,<<"\n">>,<<"\v">>,<<"\f">>,<<"\r">>],
[global,trim_all]],
[]},
Я не знаю, каковы все эти дополнительные аргументы строки.
Если я попытаюсь просто связать строку с каждым типом без полученного разбиения
[_server_name, verb, info_path, _version] = line
{{badmatch,{http_request,'GET',{abs_path,<<"/gg">>},{1,1}}},