众所周知,Surge脚本类型HTTP Response中$request参数只有
$request.url, $request.method
因内存消耗问题 body及headers 不会支持(这点同意,坚决拥护!)
只能request时缓存,response处提取
但经常会遇到某些API将不同请求参数放入body中,并发多次访问同一地址,
如 $request.url https://abc.com/api
$request.body {action:123}或{action:789}
此时缓存标识ACTION
request时缓存的是{action:123},若本次响应慢于并发的另一请求,到response处有可能提取到{action:789}
当然也有不优雅的解决方案,通过改写$request.url 显性传递特定标识ACTION123或ACTION789
https://abc.com/api?ACTION123 缓存{action:123}
https://abc.com/api?ACTION789 缓存{action:789}
这样在response处即可根据改写好的$request.url取出相应的持久化数据
所以是否有可能在脚本类型HTTP Response中的$request增加一个隐性传递参数
如 $request.KEY 字符串长度限制在16位以内
@SurgeTeam