Skip to content

2019 02 18

事故类型

异常报警

事故过程

  1. 17:29 收到某一个用户的大量 550

事故时长

1 min

事故原因

客户使用了方法为 HEAD 的请求,导致 self.request_method 未定义

CommonBaseView 中相关代码如下:

super().__init__(request, *args, **kwargs)
if self.request_method == 'post':
   self.request_param = request.POST.dict()
elif self.request_method == 'get':
   self.request_param = request.GET.dict()
# TODO 优化,station上的字段应该做lazy loading,并不是每个请求都需要所有数据的

dbsess = StationDbReadSession()

事故反思

解决思路

在 CommonBaseView 中加上过滤条件,过滤掉非 GET/POST 的请求