expo-server 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -23,6 +23,10 @@ function parseParams(request, route) {
|
|
|
23
23
|
function getRedirectRewriteLocation(url, request, route) {
|
|
24
24
|
const originalQueryParams = url.searchParams.entries();
|
|
25
25
|
const params = parseParams(request, route);
|
|
26
|
+
// Externality is determined from the *unsubstituted* `route.page` so a
|
|
27
|
+
// substituted catch-all that happens to contain `//host/...` cannot turn an
|
|
28
|
+
// internal redirect into an absolute external one.
|
|
29
|
+
const routePageIsExternal = isAbsoluteHttpUrl(route.page);
|
|
26
30
|
const target = route.page
|
|
27
31
|
.split('/')
|
|
28
32
|
.map((segment) => {
|
|
@@ -30,14 +34,16 @@ function getRedirectRewriteLocation(url, request, route) {
|
|
|
30
34
|
if ((match = matchDynamicName(segment))) {
|
|
31
35
|
const value = params[match];
|
|
32
36
|
delete params[match];
|
|
33
|
-
|
|
37
|
+
const resolved = typeof value === 'string'
|
|
34
38
|
? value.split('/')[0] /* If we are redirecting from a catch-all route, we need to remove the extra segments */
|
|
35
39
|
: (value ?? segment);
|
|
40
|
+
return routePageIsExternal ? resolved : stripLeadingSlashes(resolved);
|
|
36
41
|
}
|
|
37
42
|
else if ((match = matchDeepDynamicRouteName(segment))) {
|
|
38
43
|
const value = params[match];
|
|
39
44
|
delete params[match];
|
|
40
|
-
|
|
45
|
+
const resolved = value ?? segment;
|
|
46
|
+
return routePageIsExternal ? resolved : stripLeadingSlashes(resolved);
|
|
41
47
|
}
|
|
42
48
|
else {
|
|
43
49
|
return segment;
|
|
@@ -58,11 +64,27 @@ function getRedirectRewriteLocation(url, request, route) {
|
|
|
58
64
|
targetUrl.searchParams.append(key, value);
|
|
59
65
|
}
|
|
60
66
|
}
|
|
61
|
-
//
|
|
67
|
+
// Internal routes must never escape to an external host, even if some
|
|
68
|
+
// substitution path slipped through the sanitization above.
|
|
69
|
+
if (!routePageIsExternal) {
|
|
70
|
+
return targetUrl.pathname.replace(/^\/+/, '/') + targetUrl.search;
|
|
71
|
+
}
|
|
62
72
|
return targetUrl.hostname === 'localhost'
|
|
63
73
|
? targetUrl.pathname + targetUrl.search
|
|
64
74
|
: targetUrl.toString();
|
|
65
75
|
}
|
|
76
|
+
function isAbsoluteHttpUrl(value) {
|
|
77
|
+
try {
|
|
78
|
+
const parsed = new URL(value);
|
|
79
|
+
return parsed.protocol === 'http:' || parsed.protocol === 'https:';
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function stripLeadingSlashes(value) {
|
|
86
|
+
return typeof value === 'string' ? value.replace(/^\/+/, '') : value;
|
|
87
|
+
}
|
|
66
88
|
/** Match `[page]` -> `page`
|
|
67
89
|
* @privateRemarks Ported from `expo-router/src/matchers.tsx`
|
|
68
90
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/utils/matchers.ts"],"names":[],"mappings":";;AAEA,gCAEC;AAED,kCAWC;AAED,
|
|
1
|
+
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/utils/matchers.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,10 @@ export function parseParams(request, route) {
|
|
|
16
16
|
export function getRedirectRewriteLocation(url, request, route) {
|
|
17
17
|
const originalQueryParams = url.searchParams.entries();
|
|
18
18
|
const params = parseParams(request, route);
|
|
19
|
+
// Externality is determined from the *unsubstituted* `route.page` so a
|
|
20
|
+
// substituted catch-all that happens to contain `//host/...` cannot turn an
|
|
21
|
+
// internal redirect into an absolute external one.
|
|
22
|
+
const routePageIsExternal = isAbsoluteHttpUrl(route.page);
|
|
19
23
|
const target = route.page
|
|
20
24
|
.split('/')
|
|
21
25
|
.map((segment) => {
|
|
@@ -23,14 +27,16 @@ export function getRedirectRewriteLocation(url, request, route) {
|
|
|
23
27
|
if ((match = matchDynamicName(segment))) {
|
|
24
28
|
const value = params[match];
|
|
25
29
|
delete params[match];
|
|
26
|
-
|
|
30
|
+
const resolved = typeof value === 'string'
|
|
27
31
|
? value.split('/')[0] /* If we are redirecting from a catch-all route, we need to remove the extra segments */
|
|
28
32
|
: (value ?? segment);
|
|
33
|
+
return routePageIsExternal ? resolved : stripLeadingSlashes(resolved);
|
|
29
34
|
}
|
|
30
35
|
else if ((match = matchDeepDynamicRouteName(segment))) {
|
|
31
36
|
const value = params[match];
|
|
32
37
|
delete params[match];
|
|
33
|
-
|
|
38
|
+
const resolved = value ?? segment;
|
|
39
|
+
return routePageIsExternal ? resolved : stripLeadingSlashes(resolved);
|
|
34
40
|
}
|
|
35
41
|
else {
|
|
36
42
|
return segment;
|
|
@@ -51,11 +57,27 @@ export function getRedirectRewriteLocation(url, request, route) {
|
|
|
51
57
|
targetUrl.searchParams.append(key, value);
|
|
52
58
|
}
|
|
53
59
|
}
|
|
54
|
-
//
|
|
60
|
+
// Internal routes must never escape to an external host, even if some
|
|
61
|
+
// substitution path slipped through the sanitization above.
|
|
62
|
+
if (!routePageIsExternal) {
|
|
63
|
+
return targetUrl.pathname.replace(/^\/+/, '/') + targetUrl.search;
|
|
64
|
+
}
|
|
55
65
|
return targetUrl.hostname === 'localhost'
|
|
56
66
|
? targetUrl.pathname + targetUrl.search
|
|
57
67
|
: targetUrl.toString();
|
|
58
68
|
}
|
|
69
|
+
function isAbsoluteHttpUrl(value) {
|
|
70
|
+
try {
|
|
71
|
+
const parsed = new URL(value);
|
|
72
|
+
return parsed.protocol === 'http:' || parsed.protocol === 'https:';
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function stripLeadingSlashes(value) {
|
|
79
|
+
return typeof value === 'string' ? value.replace(/^\/+/, '') : value;
|
|
80
|
+
}
|
|
59
81
|
/** Match `[page]` -> `page`
|
|
60
82
|
* @privateRemarks Ported from `expo-router/src/matchers.tsx`
|
|
61
83
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/utils/matchers.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,QAAQ,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,KAAY;IACxD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAQ,EAAE,OAAgB,EAAE,KAAY;IACjF,MAAM,mBAAmB,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI;SACtB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,IAAI,KAAyB,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,
|
|
1
|
+
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/utils/matchers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Server API for Expo Router projects",
|
|
5
5
|
"main": "build/cjs/index.js",
|
|
6
6
|
"module": "build/mjs/index.js",
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"engines": {
|
|
70
70
|
"node": ">=20.16.0"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "45c60e10956764bbac6c62454890eeb25c74bbd6"
|
|
73
73
|
}
|