Repository navigation
Expand file tree
/
Copy pathapi-router.js
More file actions
68 lines (66 loc) · 1.98 KB
/
Copy pathapi-router.js
File metadata and controls
68 lines (66 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import { jsonResponse } from "./http.js";
import { handleMapRequest } from "./map.js";
import { handleNewsRequest } from "./news.js";
import {
handleGeocodeRequest,
handleRouteRequest,
handleRoutingKeyTest,
handleRoutingStatus,
} from "./route.js";
import { handleRealtimeTokenRequest } from "./realtime.js";
import {
handleAiWebSearchRequest,
handleConversateRequest,
} from "./ai-web-search.js";
export async function handleApiRequest(request, env, dependencies = {}) {
const url = new URL(request.url);
if (!url.pathname.startsWith("/api/")) return null;
if (url.pathname === "/api/news" && request.method === "GET") {
return handleNewsRequest(request, env, dependencies);
}
if (url.pathname === "/api/map" && request.method === "GET") {
return handleMapRequest(request, env, dependencies);
}
if (url.pathname === "/api/routing-status" && request.method === "GET") {
return handleRoutingStatus(request, env);
}
if (
url.pathname === "/api/routing-key-test"
&& request.method === "POST"
) {
return handleRoutingKeyTest(request, env, dependencies);
}
if (url.pathname === "/api/geocode" && request.method === "GET") {
return handleGeocodeRequest(request, env, dependencies);
}
if (url.pathname === "/api/route" && request.method === "POST") {
return handleRouteRequest(request, env, dependencies);
}
if (
url.pathname === "/api/realtime-token"
&& request.method === "POST"
) {
return handleRealtimeTokenRequest(request, env, dependencies);
}
if (
url.pathname === "/api/ai-web-search"
&& request.method === "POST"
) {
return handleAiWebSearchRequest(request, env, dependencies);
}
if (
url.pathname === "/api/conversate-analyze"
&& request.method === "POST"
) {
return handleConversateRequest(request, env, dependencies);
}
return jsonResponse(
{
error: {
code: "API_NOT_FOUND",
message: "Unknown SANDEVISTAN API route",
},
},
{ status: 404 },
);
}