v0.1.35: FifoQueue/ContentBasedDeduplication в whitelist (совместимость CLI v2)
This commit is contained in:
@@ -406,6 +406,7 @@ type QueueAttributes struct {
|
||||
// - Query (form Attribute.N.Name) — в app/gosqs/queue_attributes.go;
|
||||
// - JSON — в UnmarshalJSON ниже (стандартный парсер молча отбрасывает
|
||||
// неизвестные поля, поэтому проверка выполняется вручную).
|
||||
//
|
||||
// Policy/RedriveAllowPolicy — допустимы для совместимости, но не реализованы (no-op).
|
||||
var AttrNameWhitelist = map[string]bool{
|
||||
"DelaySeconds": true,
|
||||
@@ -416,6 +417,10 @@ var AttrNameWhitelist = map[string]bool{
|
||||
"VisibilityTimeout": true,
|
||||
"RedrivePolicy": true,
|
||||
"RedriveAllowPolicy": true,
|
||||
// FIFO-атрибуты: FifoQueue у нас выводится из суффикса .fifo имени очереди,
|
||||
// но клиенты присылают эти атрибуты в CreateQueue — они допустимы (no-op).
|
||||
"FifoQueue": true,
|
||||
"ContentBasedDeduplication": true,
|
||||
}
|
||||
|
||||
// UnmarshalJSON — строгая разборка QueueAttributes для JSON-протокола.
|
||||
@@ -427,6 +432,7 @@ var AttrNameWhitelist = map[string]bool{
|
||||
// любой атрибут — «неверное имя атрибута принято» из нагрузочного теста).
|
||||
// 3. Разбираем штатно: все известные поля попадают в структуру, вложенный
|
||||
// RedrivePolicy использует собственный UnmarshalJSON.
|
||||
//
|
||||
// Ошибка приводит к TransformRequest=false → InvalidParameterValue в handler.
|
||||
func (q *QueueAttributes) UnmarshalJSON(data []byte) error {
|
||||
var raw map[string]json.RawMessage
|
||||
|
||||
Reference in New Issue
Block a user