Files
ds-galo/openspec/changes/host-agnostic-object-urls/specs/storage-backends/spec.md
T
iu eef7c6c5d0 fix(storage): emit origin-relative object URLs
Build signed object URLs as path-only (/api/objects/...) instead of
prefixing APP_BASE_URL, so media loads from whatever host or reverse
proxy served the app. Remove the now-unused base URL from the signer and
drop the APP_BASE_URL / Server.BaseURL config.
2026-10-12 12:14:46 +03:00

1.5 KiB

Spec Delta

ADDED Requirements

Requirement: Хост-независимые URL объектов

Выдаваемый клиенту подписанный URL объекта SHALL быть относительным к текущему источнику (same-origin) и SHALL не содержать настроенный хост. Просмотр и скачивание медиа SHALL работать за любым хостом или обратным прокси без настройки внешнего базового URL.

Scenario: Другой хост

  • WHEN приложение доступно по адресу, отличному от адреса по умолчанию, и клиент запрашивает фото
  • THEN URL объекта указывает на тот же источник, что и страница, и превью загружается без дополнительной настройки

Scenario: Обратный прокси

  • WHEN приложение доступно за обратным прокси
  • THEN URL объектов сохраняют тот же источник, что и страница приложения

Scenario: Подпись сохраняется

  • WHEN клиент получает относительный URL объекта
  • THEN подпись, срок действия и кэширование объекта работают как прежде