中间件中的Django Request Object?

时间:2017-10-31 14:35:43

标签: python django django-rest-framework prometheus

我正在构建一个自定义的Prometheus中间件类来进行一些监视,我想为中间件中的给定请求构造或检索Django Rest Framework Request对象,以便我可以捕获{{1在我的指标中。

但是,我的代码中的request.version参数似乎是request对象。是否可以在中间件中识别DRF WSGIRequest对象?代码低于......

HttpRequest

1 个答案:

答案 0 :(得分:0)

如果你check the source code,Django的HttpRequest对象被包裹在Request中的DRF的views.APIView.dispatch对象中,所以我认为你必须通过相当多的箍来获得它。你最好的选择可能是修补APIView来存储你在实际请求(Django的HttpRequest或子类)之后的信息 - 或者在响应FWIW上 - 所以你可以让它们回到中间件。