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