- 在Nex G S应用的中间件中处理请求和响应cookie,用以实现A/B测试功能。
- 当用户访问board路径时,中间件检查cookie决定重写位置。
- 如果请求路径为/about,可声明名为'testing'的cookie。
- 使用
request.cookies.get
方法获取名为'testing'的cookie值。 - 若cookie不存在或值为空,随机设置为'normality'或'variation'(50%概率)。
- 根据cookie值重写路径:若为'variation',路径名改为'/variation'+原路径名;否则保持原路径。
- 若请求中无'testing' cookie,使用response方法设置该cookie。
- 测试:在浏览器刷新页面,检查开发者工具中的cookie,显示'name'为'testing'的cookie值。
- 若cookie值为'variation',显示/about页面的变体内容;若删掉cookie再刷新页面,显示正常的/about页面内容。