Closed killagu closed 2 years ago
package 可能来自多个 registry,根路径是否考虑添加一下 packageId 字段?
https://github.com/npm/registry/blob/master/docs/hooks/hooks-payload.md
payload 默认返回全量信息,需要在 post 请求体的时候先判断一下 body 大小加个限制吗?
package 可能来自多个 registry,根路径是否考虑添加一下 packageId 字段?
虽然会有多 registry 同步的问题,但是一个 registry 中 name 一定是唯一的,否则会有同名攻击。
payload 默认返回全量信息,需要在 post 请求体的时候先判断一下 body 大小加个限制吗?
这个暂时不考虑,未来可以在读取的时候做这个限制。
api 文档
https://github.com/npm/registry/blob/master/docs/hooks/endpoints.md
hooks 流程
task 模型变更
在 hooks 执行过程中,需要幂等的能力,避免重复的推送任务创建,导致订阅方收到重复推送的问题。
在
task
表中新增biz_id
以及唯一索引uk_biz_id
来保障,相同任务只能插入一条。以本次两种类型 task 来说:${changeId}:${hookId}
hook 模型设计
表结构变更
回调 header
需要通过
x-npm-signature
来传输签名结果签名方式
hook 类型
本次计划支持:
示例数据
package:star
package:unstar
package:publish
package:unpublish
package:owner
package:owner-rm
package:dist-tag
package:dist-tag-rm
package:deprecated
package:undeprecated
package:change