我今天的问题是:在 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/

10-13 02:06