mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-11-12 23:31:02 +00:00
091ebed8e4
routing_valhalla_provider (fossgis, trek or custom) sits beside the routing URLs under Admin, Default user settings, admin only and locked on a managed install. Without a choice an own Valhalla is custom, an own OSRM alone asks no Valhalla, and otherwise the TREK services answer. The planner asks them through the same-origin relay, so no connect-src changes. A relay that answers 401 (a shared page without a sign-in), 403, 413, 429 or 5xx sends the question to FOSSGIS without a word and is left alone for ten minutes. A long line to describe goes as a polyline.
20 lines
834 B
TypeScript
20 lines
834 B
TypeScript
import type { ValhallaRelayAction } from '@trek/shared';
|
|
|
|
/**
|
|
* POST /api/routing/valhalla/:action: a question for the TREK services'
|
|
* Valhalla, which this server asks with the installation key. The answer is
|
|
* Valhalla's own, its status included, so it is handed back as a Response and
|
|
* read like the answer of any other Valhalla. Plain fetch on purpose: the
|
|
* shared client would turn a 401 into a sign-in redirect and a 429 into a
|
|
* toast, where the planner only wants to ask FOSSGIS instead.
|
|
*/
|
|
export function postValhallaRelay(action: ValhallaRelayAction, body: unknown, signal?: AbortSignal): Promise<Response> {
|
|
return fetch(`/api/routing/valhalla/${action}`, {
|
|
method: 'POST',
|
|
credentials: 'include',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify(body),
|
|
signal,
|
|
});
|
|
}
|