我希望用户有机会选择从服务器接收响应的格式,无论是纯文本、json 还是 xml。看起来我必须通过调用 cowboy_req:meta/{2,3} 来检索 media_type,然后使用它来编码响应正文。但是该值在 content_types_provided 之前的回调中不可用(malformed_request、is_authorized、forbidden...)。
我应该复制牛仔逻辑并编写自己的代码来确定 media_type 吗?
或者忽略在确定 media_type 之前执行的所有回调。
或者也许我应该将我的响应消息放入请求元数据中并将其编码到 onresponse 钩子中,然后替换响应正文?
我该怎么做?