chore(iot): лимит тела запроса + запрет неизвестных полей + таймауты сервера (Этап 5)

- decodeJSON: http.MaxBytesReader (64 КиБ) + DisallowUnknownFields; используется
  в Create/Update устройства. Ловит опечатки в полях (важно для Terraform).
- http.Server: добавлены ReadTimeout=15с, WriteTimeout=60с, IdleTimeout=120с
  (был только ReadHeaderTimeout).
This commit is contained in:
Repinoid
2026-10-10 19:14:47 +03:00
parent e429f11e7f
commit 4a0372ff05
3 changed files with 22 additions and 3 deletions
+5
View File
@@ -104,6 +104,11 @@ func run() int {
Addr: ":" + cfg.APIPort,
Handler: router,
ReadHeaderTimeout: 10 * time.Second,
ReadTimeout: 15 * time.Second,
// WriteTimeout с запасом: admin-stats/telemetry отвечают через SQS/PG
// (внутренние таймауты до 15с). IdleTimeout — для keep-alive платформы.
WriteTimeout: 60 * time.Second,
IdleTimeout: 120 * time.Second,
}
// bridge + consumer — в фоне.