Как в моем приложении-метеоре есть два разных маршрута с одним и тем же URL-адресом в двух разных пакетах?
Я пытаюсь написать приложение, которое использует стандарт ActivityPub. В частности, сейчас я пытаюсь реализовать часть " извлечение объектов", где GET-запрос к идентификатору объекта с заголовком содержимого, включая application/ld+json; profile="https://www.w3.org/ns/activitystreams"
или же application/activity+json
получит представление ActivityPub этого объекта. Однако, как предлагается в статье, и как это делают многие другие реализации ActivityPub, я также хочу представить HTML-страницу по этому URL, когда заголовок содержимого запрашивает HTML.
Кроме того, я хочу указать эти маршруты в отдельных пакетах - один в бэкэнде и один в веб- интерфейсе, чтобы можно было писать разные интерфейсы для одного и того же бэкэнда. Это возможно? Мои текущие расследования предполагают, что это не так, но я еще не уверен. Возможно, мне нужно определить маршрут в бэкэнде, и он должен проверить заголовок содержимого и выбрать ответ там, но позволить внешнему интерфейсу настроить бэкэнд так, чтобы он указывал на определенный шаблон?
В настоящее время я использую Restivus в бэкэнде и Iron:Router в веб-интерфейсе, но я готов поменять оба из них при необходимости.
1 ответ
Ну, я не уверен, что это лучший способ сделать это, но в итоге я просто проложил маршрут в бэкэнде и проверил его accept: text/html
и если найдено, перенаправьте его на другой маршрут. Я хотел бы иметь возможность скрыть перенаправление от клиента, но пока это достаточно близко.