我今天的问题是:在 cowboy_http_handler 的 Handler:handle(Req, State)
中,是否有 官方 方法来获取对等 ssl 套接字信息(准确地说是对等证书)?
当然,我可以用 Req
抓取 erlang:element/2
元组(对等套接字是今天的第二个字段),但这不是面向 future 的,只是看起来不对。
提前致谢!
最佳答案
有一个导出的调用:
cowboy_req:get(socket, Req)
它返回套接字,或者
Req
对象中的几乎所有其他内容,当前:bindings
body_state
buffer
connection
headers
host
host_info
meta
method
multipart
onresponse
path
path_info
peer
pid
port
qs
resp_body
resp_compress
resp_headers
resp_state
socket
transport
version
我不确定它是否在文档中,我看不到它,但它比仅获取编号的元素值要好得多,失败的可能性也更小,而且您始终可以添加一个单元测试来检查它工作,所以如果它在某个时候被盖章/损坏,你会得到提醒。不过我不指望它会去任何地方。
关于ssl - 如何在 cowboy_http_handler 中获取对等证书,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34315538/