如何通过其中一个值从列表中获取元组?

asi*_*niy 1 elixir phoenix-framework

我有一个req_headers像元组一样的凤凰列表{key, value}.如何通过列表中的键获取元组的值?像那样:

[{"host", "localhost:4000"}, {"user-agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"accept", "application/json, text/plain, */*"}, {"accept-language", "en-US,en;q=0.5"}, {"accept-encoding", "gzip, deflate"}, {"content-type", "application/json;charset=utf-8"}, {"referer", "http://localhost:4000/"}, {"content-length", "16"}, {"connection", "keep-alive"}]
Run Code Online (Sandbox Code Playgroud)

我想获取密钥"host"的值,即" http:// localhost:4000 ".我怎样才能做到这一点?

mic*_*ala 6

一般的解决方案是List.keyfind/3.当谈到Plug中的标题时,有一个特殊的功能 - Plug.Conn.get_req_header/2:

get_req_header(conn, "host")
#=> ["localhost:4000"]
Run Code Online (Sandbox Code Playgroud)