@webtypen/webframez-react 0.0.39 → 0.0.40
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.
- package/dist/http.cjs +40 -3
- package/dist/http.js +40 -3
- package/dist/index.cjs +47 -4
- package/dist/index.js +47 -4
- package/dist/router.cjs +6 -3
- package/dist/router.d.ts +3 -1
- package/dist/router.js +6 -3
- package/dist/webframez-core.cjs +47 -4
- package/dist/webframez-core.js +47 -4
- package/package.json +1 -1
package/dist/http.cjs
CHANGED
|
@@ -636,7 +636,8 @@ function createFileRouter(options) {
|
|
|
636
636
|
model: fallback,
|
|
637
637
|
head: {
|
|
638
638
|
title: `${statusCode} - ${message}`
|
|
639
|
-
}
|
|
639
|
+
},
|
|
640
|
+
context: errorProps
|
|
640
641
|
};
|
|
641
642
|
}
|
|
642
643
|
const errorModule = resolveModule(errorPath, pagesDir);
|
|
@@ -651,7 +652,8 @@ function createFileRouter(options) {
|
|
|
651
652
|
model,
|
|
652
653
|
contextModel,
|
|
653
654
|
pageModel: errorNode,
|
|
654
|
-
head: mergeHead(layoutHead, errorHead)
|
|
655
|
+
head: mergeHead(layoutHead, errorHead),
|
|
656
|
+
context: errorProps
|
|
655
657
|
};
|
|
656
658
|
}
|
|
657
659
|
function normalizeMiddlewareNames(config) {
|
|
@@ -776,7 +778,8 @@ function createFileRouter(options) {
|
|
|
776
778
|
model,
|
|
777
779
|
contextModel,
|
|
778
780
|
pageModel: pageNode,
|
|
779
|
-
head: mergeHead(layoutHead, pageHead)
|
|
781
|
+
head: mergeHead(layoutHead, pageHead),
|
|
782
|
+
context: pageContext
|
|
780
783
|
};
|
|
781
784
|
} catch (error) {
|
|
782
785
|
if (isRouteAbort(error)) {
|
|
@@ -796,6 +799,38 @@ function parseSearchParams(query) {
|
|
|
796
799
|
}
|
|
797
800
|
|
|
798
801
|
// src/http.ts
|
|
802
|
+
function attachResolvedContextToCoreRequest(req, context) {
|
|
803
|
+
if (!context) {
|
|
804
|
+
return;
|
|
805
|
+
}
|
|
806
|
+
const coreRequest = req.__webframezCoreRequest;
|
|
807
|
+
if (!coreRequest) {
|
|
808
|
+
return;
|
|
809
|
+
}
|
|
810
|
+
const data = context.data && typeof context.data === "object" ? context.data : void 0;
|
|
811
|
+
const env = data?.env;
|
|
812
|
+
const website = data?.website;
|
|
813
|
+
coreRequest.__webframezReactContext = {
|
|
814
|
+
pathname: context.pathname,
|
|
815
|
+
params: context.params,
|
|
816
|
+
request: context.request,
|
|
817
|
+
data: data ? {
|
|
818
|
+
env,
|
|
819
|
+
website,
|
|
820
|
+
is_env_website_request: data.is_env_website_request,
|
|
821
|
+
is_website_domain_request: data.is_website_domain_request,
|
|
822
|
+
website_base_path: data.website_base_path,
|
|
823
|
+
website_route_base_path: data.website_route_base_path,
|
|
824
|
+
website_transport_base_path: data.website_transport_base_path
|
|
825
|
+
} : void 0
|
|
826
|
+
};
|
|
827
|
+
if (!coreRequest.env && env) {
|
|
828
|
+
coreRequest.env = env;
|
|
829
|
+
}
|
|
830
|
+
if (!coreRequest.website && website) {
|
|
831
|
+
coreRequest.website = website;
|
|
832
|
+
}
|
|
833
|
+
}
|
|
799
834
|
function createInitialHtmlErrorMarkup(message) {
|
|
800
835
|
return `<main style="font-family:system-ui,sans-serif;padding:24px"><h1 style="margin:0 0 12px">500</h1><p style="margin:0">${message}</p></main>`;
|
|
801
836
|
}
|
|
@@ -1626,6 +1661,7 @@ function createNodeRequestHandler(options) {
|
|
|
1626
1661
|
request: requestContext
|
|
1627
1662
|
})
|
|
1628
1663
|
);
|
|
1664
|
+
attachResolvedContextToCoreRequest(req, resolved2.context);
|
|
1629
1665
|
const payload = {
|
|
1630
1666
|
model: resolved2.model,
|
|
1631
1667
|
contextModel: resolved2.contextModel,
|
|
@@ -1700,6 +1736,7 @@ function createNodeRequestHandler(options) {
|
|
|
1700
1736
|
)
|
|
1701
1737
|
})
|
|
1702
1738
|
);
|
|
1739
|
+
attachResolvedContextToCoreRequest(req, resolved.context);
|
|
1703
1740
|
const initialPayload = {
|
|
1704
1741
|
model: resolved.model,
|
|
1705
1742
|
head: resolved.head
|
package/dist/http.js
CHANGED
|
@@ -616,7 +616,8 @@ function createFileRouter(options) {
|
|
|
616
616
|
model: fallback,
|
|
617
617
|
head: {
|
|
618
618
|
title: `${statusCode} - ${message}`
|
|
619
|
-
}
|
|
619
|
+
},
|
|
620
|
+
context: errorProps
|
|
620
621
|
};
|
|
621
622
|
}
|
|
622
623
|
const errorModule = resolveModule(errorPath, pagesDir);
|
|
@@ -631,7 +632,8 @@ function createFileRouter(options) {
|
|
|
631
632
|
model,
|
|
632
633
|
contextModel,
|
|
633
634
|
pageModel: errorNode,
|
|
634
|
-
head: mergeHead(layoutHead, errorHead)
|
|
635
|
+
head: mergeHead(layoutHead, errorHead),
|
|
636
|
+
context: errorProps
|
|
635
637
|
};
|
|
636
638
|
}
|
|
637
639
|
function normalizeMiddlewareNames(config) {
|
|
@@ -756,7 +758,8 @@ function createFileRouter(options) {
|
|
|
756
758
|
model,
|
|
757
759
|
contextModel,
|
|
758
760
|
pageModel: pageNode,
|
|
759
|
-
head: mergeHead(layoutHead, pageHead)
|
|
761
|
+
head: mergeHead(layoutHead, pageHead),
|
|
762
|
+
context: pageContext
|
|
760
763
|
};
|
|
761
764
|
} catch (error) {
|
|
762
765
|
if (isRouteAbort(error)) {
|
|
@@ -776,6 +779,38 @@ function parseSearchParams(query) {
|
|
|
776
779
|
}
|
|
777
780
|
|
|
778
781
|
// src/http.ts
|
|
782
|
+
function attachResolvedContextToCoreRequest(req, context) {
|
|
783
|
+
if (!context) {
|
|
784
|
+
return;
|
|
785
|
+
}
|
|
786
|
+
const coreRequest = req.__webframezCoreRequest;
|
|
787
|
+
if (!coreRequest) {
|
|
788
|
+
return;
|
|
789
|
+
}
|
|
790
|
+
const data = context.data && typeof context.data === "object" ? context.data : void 0;
|
|
791
|
+
const env = data?.env;
|
|
792
|
+
const website = data?.website;
|
|
793
|
+
coreRequest.__webframezReactContext = {
|
|
794
|
+
pathname: context.pathname,
|
|
795
|
+
params: context.params,
|
|
796
|
+
request: context.request,
|
|
797
|
+
data: data ? {
|
|
798
|
+
env,
|
|
799
|
+
website,
|
|
800
|
+
is_env_website_request: data.is_env_website_request,
|
|
801
|
+
is_website_domain_request: data.is_website_domain_request,
|
|
802
|
+
website_base_path: data.website_base_path,
|
|
803
|
+
website_route_base_path: data.website_route_base_path,
|
|
804
|
+
website_transport_base_path: data.website_transport_base_path
|
|
805
|
+
} : void 0
|
|
806
|
+
};
|
|
807
|
+
if (!coreRequest.env && env) {
|
|
808
|
+
coreRequest.env = env;
|
|
809
|
+
}
|
|
810
|
+
if (!coreRequest.website && website) {
|
|
811
|
+
coreRequest.website = website;
|
|
812
|
+
}
|
|
813
|
+
}
|
|
779
814
|
function createInitialHtmlErrorMarkup(message) {
|
|
780
815
|
return `<main style="font-family:system-ui,sans-serif;padding:24px"><h1 style="margin:0 0 12px">500</h1><p style="margin:0">${message}</p></main>`;
|
|
781
816
|
}
|
|
@@ -1606,6 +1641,7 @@ function createNodeRequestHandler(options) {
|
|
|
1606
1641
|
request: requestContext
|
|
1607
1642
|
})
|
|
1608
1643
|
);
|
|
1644
|
+
attachResolvedContextToCoreRequest(req, resolved2.context);
|
|
1609
1645
|
const payload = {
|
|
1610
1646
|
model: resolved2.model,
|
|
1611
1647
|
contextModel: resolved2.contextModel,
|
|
@@ -1680,6 +1716,7 @@ function createNodeRequestHandler(options) {
|
|
|
1680
1716
|
)
|
|
1681
1717
|
})
|
|
1682
1718
|
);
|
|
1719
|
+
attachResolvedContextToCoreRequest(req, resolved.context);
|
|
1683
1720
|
const initialPayload = {
|
|
1684
1721
|
model: resolved.model,
|
|
1685
1722
|
head: resolved.head
|
package/dist/index.cjs
CHANGED
|
@@ -671,7 +671,8 @@ function createFileRouter(options) {
|
|
|
671
671
|
model: fallback,
|
|
672
672
|
head: {
|
|
673
673
|
title: `${statusCode} - ${message}`
|
|
674
|
-
}
|
|
674
|
+
},
|
|
675
|
+
context: errorProps
|
|
675
676
|
};
|
|
676
677
|
}
|
|
677
678
|
const errorModule = resolveModule(errorPath, pagesDir);
|
|
@@ -686,7 +687,8 @@ function createFileRouter(options) {
|
|
|
686
687
|
model,
|
|
687
688
|
contextModel,
|
|
688
689
|
pageModel: errorNode,
|
|
689
|
-
head: mergeHead(layoutHead, errorHead)
|
|
690
|
+
head: mergeHead(layoutHead, errorHead),
|
|
691
|
+
context: errorProps
|
|
690
692
|
};
|
|
691
693
|
}
|
|
692
694
|
function normalizeMiddlewareNames(config) {
|
|
@@ -811,7 +813,8 @@ function createFileRouter(options) {
|
|
|
811
813
|
model,
|
|
812
814
|
contextModel,
|
|
813
815
|
pageModel: pageNode,
|
|
814
|
-
head: mergeHead(layoutHead, pageHead)
|
|
816
|
+
head: mergeHead(layoutHead, pageHead),
|
|
817
|
+
context: pageContext
|
|
815
818
|
};
|
|
816
819
|
} catch (error) {
|
|
817
820
|
if (isRouteAbort(error)) {
|
|
@@ -836,6 +839,38 @@ var import_node_path3 = __toESM(require("node:path"), 1);
|
|
|
836
839
|
var import_node_url = require("node:url");
|
|
837
840
|
var import_node_child_process = require("node:child_process");
|
|
838
841
|
var import_node_zlib = require("node:zlib");
|
|
842
|
+
function attachResolvedContextToCoreRequest(req, context) {
|
|
843
|
+
if (!context) {
|
|
844
|
+
return;
|
|
845
|
+
}
|
|
846
|
+
const coreRequest = req.__webframezCoreRequest;
|
|
847
|
+
if (!coreRequest) {
|
|
848
|
+
return;
|
|
849
|
+
}
|
|
850
|
+
const data = context.data && typeof context.data === "object" ? context.data : void 0;
|
|
851
|
+
const env = data?.env;
|
|
852
|
+
const website = data?.website;
|
|
853
|
+
coreRequest.__webframezReactContext = {
|
|
854
|
+
pathname: context.pathname,
|
|
855
|
+
params: context.params,
|
|
856
|
+
request: context.request,
|
|
857
|
+
data: data ? {
|
|
858
|
+
env,
|
|
859
|
+
website,
|
|
860
|
+
is_env_website_request: data.is_env_website_request,
|
|
861
|
+
is_website_domain_request: data.is_website_domain_request,
|
|
862
|
+
website_base_path: data.website_base_path,
|
|
863
|
+
website_route_base_path: data.website_route_base_path,
|
|
864
|
+
website_transport_base_path: data.website_transport_base_path
|
|
865
|
+
} : void 0
|
|
866
|
+
};
|
|
867
|
+
if (!coreRequest.env && env) {
|
|
868
|
+
coreRequest.env = env;
|
|
869
|
+
}
|
|
870
|
+
if (!coreRequest.website && website) {
|
|
871
|
+
coreRequest.website = website;
|
|
872
|
+
}
|
|
873
|
+
}
|
|
839
874
|
function createInitialHtmlErrorMarkup(message) {
|
|
840
875
|
return `<main style="font-family:system-ui,sans-serif;padding:24px"><h1 style="margin:0 0 12px">500</h1><p style="margin:0">${message}</p></main>`;
|
|
841
876
|
}
|
|
@@ -1666,6 +1701,7 @@ function createNodeRequestHandler(options) {
|
|
|
1666
1701
|
request: requestContext
|
|
1667
1702
|
})
|
|
1668
1703
|
);
|
|
1704
|
+
attachResolvedContextToCoreRequest(req, resolved2.context);
|
|
1669
1705
|
const payload = {
|
|
1670
1706
|
model: resolved2.model,
|
|
1671
1707
|
contextModel: resolved2.contextModel,
|
|
@@ -1740,6 +1776,7 @@ function createNodeRequestHandler(options) {
|
|
|
1740
1776
|
)
|
|
1741
1777
|
})
|
|
1742
1778
|
);
|
|
1779
|
+
attachResolvedContextToCoreRequest(req, resolved.context);
|
|
1743
1780
|
const initialPayload = {
|
|
1744
1781
|
model: resolved.model,
|
|
1745
1782
|
head: resolved.head
|
|
@@ -2021,7 +2058,13 @@ function registerRouteRenderer(route, methodName) {
|
|
|
2021
2058
|
`Route.${methodName} only supports node/http requests`
|
|
2022
2059
|
);
|
|
2023
2060
|
}
|
|
2024
|
-
|
|
2061
|
+
const message = req.message;
|
|
2062
|
+
message.__webframezCoreRequest = req;
|
|
2063
|
+
try {
|
|
2064
|
+
await handleNodeRequest(message, res.res);
|
|
2065
|
+
} finally {
|
|
2066
|
+
delete message.__webframezCoreRequest;
|
|
2067
|
+
}
|
|
2025
2068
|
await waitForResponseFinish(res.res);
|
|
2026
2069
|
},
|
|
2027
2070
|
routeOptions
|
package/dist/index.js
CHANGED
|
@@ -632,7 +632,8 @@ function createFileRouter(options) {
|
|
|
632
632
|
model: fallback,
|
|
633
633
|
head: {
|
|
634
634
|
title: `${statusCode} - ${message}`
|
|
635
|
-
}
|
|
635
|
+
},
|
|
636
|
+
context: errorProps
|
|
636
637
|
};
|
|
637
638
|
}
|
|
638
639
|
const errorModule = resolveModule(errorPath, pagesDir);
|
|
@@ -647,7 +648,8 @@ function createFileRouter(options) {
|
|
|
647
648
|
model,
|
|
648
649
|
contextModel,
|
|
649
650
|
pageModel: errorNode,
|
|
650
|
-
head: mergeHead(layoutHead, errorHead)
|
|
651
|
+
head: mergeHead(layoutHead, errorHead),
|
|
652
|
+
context: errorProps
|
|
651
653
|
};
|
|
652
654
|
}
|
|
653
655
|
function normalizeMiddlewareNames(config) {
|
|
@@ -772,7 +774,8 @@ function createFileRouter(options) {
|
|
|
772
774
|
model,
|
|
773
775
|
contextModel,
|
|
774
776
|
pageModel: pageNode,
|
|
775
|
-
head: mergeHead(layoutHead, pageHead)
|
|
777
|
+
head: mergeHead(layoutHead, pageHead),
|
|
778
|
+
context: pageContext
|
|
776
779
|
};
|
|
777
780
|
} catch (error) {
|
|
778
781
|
if (isRouteAbort(error)) {
|
|
@@ -802,6 +805,38 @@ import {
|
|
|
802
805
|
createGzip,
|
|
803
806
|
gzipSync
|
|
804
807
|
} from "node:zlib";
|
|
808
|
+
function attachResolvedContextToCoreRequest(req, context) {
|
|
809
|
+
if (!context) {
|
|
810
|
+
return;
|
|
811
|
+
}
|
|
812
|
+
const coreRequest = req.__webframezCoreRequest;
|
|
813
|
+
if (!coreRequest) {
|
|
814
|
+
return;
|
|
815
|
+
}
|
|
816
|
+
const data = context.data && typeof context.data === "object" ? context.data : void 0;
|
|
817
|
+
const env = data?.env;
|
|
818
|
+
const website = data?.website;
|
|
819
|
+
coreRequest.__webframezReactContext = {
|
|
820
|
+
pathname: context.pathname,
|
|
821
|
+
params: context.params,
|
|
822
|
+
request: context.request,
|
|
823
|
+
data: data ? {
|
|
824
|
+
env,
|
|
825
|
+
website,
|
|
826
|
+
is_env_website_request: data.is_env_website_request,
|
|
827
|
+
is_website_domain_request: data.is_website_domain_request,
|
|
828
|
+
website_base_path: data.website_base_path,
|
|
829
|
+
website_route_base_path: data.website_route_base_path,
|
|
830
|
+
website_transport_base_path: data.website_transport_base_path
|
|
831
|
+
} : void 0
|
|
832
|
+
};
|
|
833
|
+
if (!coreRequest.env && env) {
|
|
834
|
+
coreRequest.env = env;
|
|
835
|
+
}
|
|
836
|
+
if (!coreRequest.website && website) {
|
|
837
|
+
coreRequest.website = website;
|
|
838
|
+
}
|
|
839
|
+
}
|
|
805
840
|
function createInitialHtmlErrorMarkup(message) {
|
|
806
841
|
return `<main style="font-family:system-ui,sans-serif;padding:24px"><h1 style="margin:0 0 12px">500</h1><p style="margin:0">${message}</p></main>`;
|
|
807
842
|
}
|
|
@@ -1632,6 +1667,7 @@ function createNodeRequestHandler(options) {
|
|
|
1632
1667
|
request: requestContext
|
|
1633
1668
|
})
|
|
1634
1669
|
);
|
|
1670
|
+
attachResolvedContextToCoreRequest(req, resolved2.context);
|
|
1635
1671
|
const payload = {
|
|
1636
1672
|
model: resolved2.model,
|
|
1637
1673
|
contextModel: resolved2.contextModel,
|
|
@@ -1706,6 +1742,7 @@ function createNodeRequestHandler(options) {
|
|
|
1706
1742
|
)
|
|
1707
1743
|
})
|
|
1708
1744
|
);
|
|
1745
|
+
attachResolvedContextToCoreRequest(req, resolved.context);
|
|
1709
1746
|
const initialPayload = {
|
|
1710
1747
|
model: resolved.model,
|
|
1711
1748
|
head: resolved.head
|
|
@@ -1987,7 +2024,13 @@ function registerRouteRenderer(route, methodName) {
|
|
|
1987
2024
|
`Route.${methodName} only supports node/http requests`
|
|
1988
2025
|
);
|
|
1989
2026
|
}
|
|
1990
|
-
|
|
2027
|
+
const message = req.message;
|
|
2028
|
+
message.__webframezCoreRequest = req;
|
|
2029
|
+
try {
|
|
2030
|
+
await handleNodeRequest(message, res.res);
|
|
2031
|
+
} finally {
|
|
2032
|
+
delete message.__webframezCoreRequest;
|
|
2033
|
+
}
|
|
1991
2034
|
await waitForResponseFinish(res.res);
|
|
1992
2035
|
},
|
|
1993
2036
|
routeOptions
|
package/dist/router.cjs
CHANGED
|
@@ -520,7 +520,8 @@ function createFileRouter(options) {
|
|
|
520
520
|
model: fallback,
|
|
521
521
|
head: {
|
|
522
522
|
title: `${statusCode} - ${message}`
|
|
523
|
-
}
|
|
523
|
+
},
|
|
524
|
+
context: errorProps
|
|
524
525
|
};
|
|
525
526
|
}
|
|
526
527
|
const errorModule = resolveModule(errorPath, pagesDir);
|
|
@@ -535,7 +536,8 @@ function createFileRouter(options) {
|
|
|
535
536
|
model,
|
|
536
537
|
contextModel,
|
|
537
538
|
pageModel: errorNode,
|
|
538
|
-
head: mergeHead(layoutHead, errorHead)
|
|
539
|
+
head: mergeHead(layoutHead, errorHead),
|
|
540
|
+
context: errorProps
|
|
539
541
|
};
|
|
540
542
|
}
|
|
541
543
|
function normalizeMiddlewareNames(config) {
|
|
@@ -660,7 +662,8 @@ function createFileRouter(options) {
|
|
|
660
662
|
model,
|
|
661
663
|
contextModel,
|
|
662
664
|
pageModel: pageNode,
|
|
663
|
-
head: mergeHead(layoutHead, pageHead)
|
|
665
|
+
head: mergeHead(layoutHead, pageHead),
|
|
666
|
+
context: pageContext
|
|
664
667
|
};
|
|
665
668
|
} catch (error) {
|
|
666
669
|
if (isRouteAbort(error)) {
|
package/dist/router.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
import type { HeadConfig, RouteSearchParams } from "./types";
|
|
2
|
+
import type { HeadConfig, RouteContext, RouteRequestContext, RouteSearchParams } from "./types";
|
|
3
3
|
|
|
4
4
|
export type ResolvedRoute = {
|
|
5
5
|
statusCode: number;
|
|
6
6
|
model: ReactNode;
|
|
7
7
|
head: HeadConfig;
|
|
8
|
+
context: RouteContext;
|
|
8
9
|
contextModel?: ReactNode;
|
|
9
10
|
pageModel?: ReactNode;
|
|
10
11
|
};
|
|
@@ -14,6 +15,7 @@ export function createFileRouter(options: { pagesDir: string }): {
|
|
|
14
15
|
pathname: string;
|
|
15
16
|
searchParams: RouteSearchParams;
|
|
16
17
|
cookies?: Record<string, string>;
|
|
18
|
+
request?: RouteRequestContext;
|
|
17
19
|
}): Promise<ResolvedRoute>;
|
|
18
20
|
readSearchParams(urlSearchParams: URLSearchParams): RouteSearchParams;
|
|
19
21
|
};
|
package/dist/router.js
CHANGED
|
@@ -490,7 +490,8 @@ function createFileRouter(options) {
|
|
|
490
490
|
model: fallback,
|
|
491
491
|
head: {
|
|
492
492
|
title: `${statusCode} - ${message}`
|
|
493
|
-
}
|
|
493
|
+
},
|
|
494
|
+
context: errorProps
|
|
494
495
|
};
|
|
495
496
|
}
|
|
496
497
|
const errorModule = resolveModule(errorPath, pagesDir);
|
|
@@ -505,7 +506,8 @@ function createFileRouter(options) {
|
|
|
505
506
|
model,
|
|
506
507
|
contextModel,
|
|
507
508
|
pageModel: errorNode,
|
|
508
|
-
head: mergeHead(layoutHead, errorHead)
|
|
509
|
+
head: mergeHead(layoutHead, errorHead),
|
|
510
|
+
context: errorProps
|
|
509
511
|
};
|
|
510
512
|
}
|
|
511
513
|
function normalizeMiddlewareNames(config) {
|
|
@@ -630,7 +632,8 @@ function createFileRouter(options) {
|
|
|
630
632
|
model,
|
|
631
633
|
contextModel,
|
|
632
634
|
pageModel: pageNode,
|
|
633
|
-
head: mergeHead(layoutHead, pageHead)
|
|
635
|
+
head: mergeHead(layoutHead, pageHead),
|
|
636
|
+
context: pageContext
|
|
634
637
|
};
|
|
635
638
|
} catch (error) {
|
|
636
639
|
if (isRouteAbort(error)) {
|
package/dist/webframez-core.cjs
CHANGED
|
@@ -643,7 +643,8 @@ function createFileRouter(options) {
|
|
|
643
643
|
model: fallback,
|
|
644
644
|
head: {
|
|
645
645
|
title: `${statusCode} - ${message}`
|
|
646
|
-
}
|
|
646
|
+
},
|
|
647
|
+
context: errorProps
|
|
647
648
|
};
|
|
648
649
|
}
|
|
649
650
|
const errorModule = resolveModule(errorPath, pagesDir);
|
|
@@ -658,7 +659,8 @@ function createFileRouter(options) {
|
|
|
658
659
|
model,
|
|
659
660
|
contextModel,
|
|
660
661
|
pageModel: errorNode,
|
|
661
|
-
head: mergeHead(layoutHead, errorHead)
|
|
662
|
+
head: mergeHead(layoutHead, errorHead),
|
|
663
|
+
context: errorProps
|
|
662
664
|
};
|
|
663
665
|
}
|
|
664
666
|
function normalizeMiddlewareNames(config) {
|
|
@@ -783,7 +785,8 @@ function createFileRouter(options) {
|
|
|
783
785
|
model,
|
|
784
786
|
contextModel,
|
|
785
787
|
pageModel: pageNode,
|
|
786
|
-
head: mergeHead(layoutHead, pageHead)
|
|
788
|
+
head: mergeHead(layoutHead, pageHead),
|
|
789
|
+
context: pageContext
|
|
787
790
|
};
|
|
788
791
|
} catch (error) {
|
|
789
792
|
if (isRouteAbort(error)) {
|
|
@@ -803,6 +806,38 @@ function parseSearchParams(query) {
|
|
|
803
806
|
}
|
|
804
807
|
|
|
805
808
|
// src/http.ts
|
|
809
|
+
function attachResolvedContextToCoreRequest(req, context) {
|
|
810
|
+
if (!context) {
|
|
811
|
+
return;
|
|
812
|
+
}
|
|
813
|
+
const coreRequest = req.__webframezCoreRequest;
|
|
814
|
+
if (!coreRequest) {
|
|
815
|
+
return;
|
|
816
|
+
}
|
|
817
|
+
const data = context.data && typeof context.data === "object" ? context.data : void 0;
|
|
818
|
+
const env = data?.env;
|
|
819
|
+
const website = data?.website;
|
|
820
|
+
coreRequest.__webframezReactContext = {
|
|
821
|
+
pathname: context.pathname,
|
|
822
|
+
params: context.params,
|
|
823
|
+
request: context.request,
|
|
824
|
+
data: data ? {
|
|
825
|
+
env,
|
|
826
|
+
website,
|
|
827
|
+
is_env_website_request: data.is_env_website_request,
|
|
828
|
+
is_website_domain_request: data.is_website_domain_request,
|
|
829
|
+
website_base_path: data.website_base_path,
|
|
830
|
+
website_route_base_path: data.website_route_base_path,
|
|
831
|
+
website_transport_base_path: data.website_transport_base_path
|
|
832
|
+
} : void 0
|
|
833
|
+
};
|
|
834
|
+
if (!coreRequest.env && env) {
|
|
835
|
+
coreRequest.env = env;
|
|
836
|
+
}
|
|
837
|
+
if (!coreRequest.website && website) {
|
|
838
|
+
coreRequest.website = website;
|
|
839
|
+
}
|
|
840
|
+
}
|
|
806
841
|
function createInitialHtmlErrorMarkup(message) {
|
|
807
842
|
return `<main style="font-family:system-ui,sans-serif;padding:24px"><h1 style="margin:0 0 12px">500</h1><p style="margin:0">${message}</p></main>`;
|
|
808
843
|
}
|
|
@@ -1633,6 +1668,7 @@ function createNodeRequestHandler(options) {
|
|
|
1633
1668
|
request: requestContext
|
|
1634
1669
|
})
|
|
1635
1670
|
);
|
|
1671
|
+
attachResolvedContextToCoreRequest(req, resolved2.context);
|
|
1636
1672
|
const payload = {
|
|
1637
1673
|
model: resolved2.model,
|
|
1638
1674
|
contextModel: resolved2.contextModel,
|
|
@@ -1707,6 +1743,7 @@ function createNodeRequestHandler(options) {
|
|
|
1707
1743
|
)
|
|
1708
1744
|
})
|
|
1709
1745
|
);
|
|
1746
|
+
attachResolvedContextToCoreRequest(req, resolved.context);
|
|
1710
1747
|
const initialPayload = {
|
|
1711
1748
|
model: resolved.model,
|
|
1712
1749
|
head: resolved.head
|
|
@@ -1987,7 +2024,13 @@ function registerRouteRenderer(route, methodName) {
|
|
|
1987
2024
|
`Route.${methodName} only supports node/http requests`
|
|
1988
2025
|
);
|
|
1989
2026
|
}
|
|
1990
|
-
|
|
2027
|
+
const message = req.message;
|
|
2028
|
+
message.__webframezCoreRequest = req;
|
|
2029
|
+
try {
|
|
2030
|
+
await handleNodeRequest(message, res.res);
|
|
2031
|
+
} finally {
|
|
2032
|
+
delete message.__webframezCoreRequest;
|
|
2033
|
+
}
|
|
1991
2034
|
await waitForResponseFinish(res.res);
|
|
1992
2035
|
},
|
|
1993
2036
|
routeOptions
|
package/dist/webframez-core.js
CHANGED
|
@@ -619,7 +619,8 @@ function createFileRouter(options) {
|
|
|
619
619
|
model: fallback,
|
|
620
620
|
head: {
|
|
621
621
|
title: `${statusCode} - ${message}`
|
|
622
|
-
}
|
|
622
|
+
},
|
|
623
|
+
context: errorProps
|
|
623
624
|
};
|
|
624
625
|
}
|
|
625
626
|
const errorModule = resolveModule(errorPath, pagesDir);
|
|
@@ -634,7 +635,8 @@ function createFileRouter(options) {
|
|
|
634
635
|
model,
|
|
635
636
|
contextModel,
|
|
636
637
|
pageModel: errorNode,
|
|
637
|
-
head: mergeHead(layoutHead, errorHead)
|
|
638
|
+
head: mergeHead(layoutHead, errorHead),
|
|
639
|
+
context: errorProps
|
|
638
640
|
};
|
|
639
641
|
}
|
|
640
642
|
function normalizeMiddlewareNames(config) {
|
|
@@ -759,7 +761,8 @@ function createFileRouter(options) {
|
|
|
759
761
|
model,
|
|
760
762
|
contextModel,
|
|
761
763
|
pageModel: pageNode,
|
|
762
|
-
head: mergeHead(layoutHead, pageHead)
|
|
764
|
+
head: mergeHead(layoutHead, pageHead),
|
|
765
|
+
context: pageContext
|
|
763
766
|
};
|
|
764
767
|
} catch (error) {
|
|
765
768
|
if (isRouteAbort(error)) {
|
|
@@ -779,6 +782,38 @@ function parseSearchParams(query) {
|
|
|
779
782
|
}
|
|
780
783
|
|
|
781
784
|
// src/http.ts
|
|
785
|
+
function attachResolvedContextToCoreRequest(req, context) {
|
|
786
|
+
if (!context) {
|
|
787
|
+
return;
|
|
788
|
+
}
|
|
789
|
+
const coreRequest = req.__webframezCoreRequest;
|
|
790
|
+
if (!coreRequest) {
|
|
791
|
+
return;
|
|
792
|
+
}
|
|
793
|
+
const data = context.data && typeof context.data === "object" ? context.data : void 0;
|
|
794
|
+
const env = data?.env;
|
|
795
|
+
const website = data?.website;
|
|
796
|
+
coreRequest.__webframezReactContext = {
|
|
797
|
+
pathname: context.pathname,
|
|
798
|
+
params: context.params,
|
|
799
|
+
request: context.request,
|
|
800
|
+
data: data ? {
|
|
801
|
+
env,
|
|
802
|
+
website,
|
|
803
|
+
is_env_website_request: data.is_env_website_request,
|
|
804
|
+
is_website_domain_request: data.is_website_domain_request,
|
|
805
|
+
website_base_path: data.website_base_path,
|
|
806
|
+
website_route_base_path: data.website_route_base_path,
|
|
807
|
+
website_transport_base_path: data.website_transport_base_path
|
|
808
|
+
} : void 0
|
|
809
|
+
};
|
|
810
|
+
if (!coreRequest.env && env) {
|
|
811
|
+
coreRequest.env = env;
|
|
812
|
+
}
|
|
813
|
+
if (!coreRequest.website && website) {
|
|
814
|
+
coreRequest.website = website;
|
|
815
|
+
}
|
|
816
|
+
}
|
|
782
817
|
function createInitialHtmlErrorMarkup(message) {
|
|
783
818
|
return `<main style="font-family:system-ui,sans-serif;padding:24px"><h1 style="margin:0 0 12px">500</h1><p style="margin:0">${message}</p></main>`;
|
|
784
819
|
}
|
|
@@ -1609,6 +1644,7 @@ function createNodeRequestHandler(options) {
|
|
|
1609
1644
|
request: requestContext
|
|
1610
1645
|
})
|
|
1611
1646
|
);
|
|
1647
|
+
attachResolvedContextToCoreRequest(req, resolved2.context);
|
|
1612
1648
|
const payload = {
|
|
1613
1649
|
model: resolved2.model,
|
|
1614
1650
|
contextModel: resolved2.contextModel,
|
|
@@ -1683,6 +1719,7 @@ function createNodeRequestHandler(options) {
|
|
|
1683
1719
|
)
|
|
1684
1720
|
})
|
|
1685
1721
|
);
|
|
1722
|
+
attachResolvedContextToCoreRequest(req, resolved.context);
|
|
1686
1723
|
const initialPayload = {
|
|
1687
1724
|
model: resolved.model,
|
|
1688
1725
|
head: resolved.head
|
|
@@ -1963,7 +2000,13 @@ function registerRouteRenderer(route, methodName) {
|
|
|
1963
2000
|
`Route.${methodName} only supports node/http requests`
|
|
1964
2001
|
);
|
|
1965
2002
|
}
|
|
1966
|
-
|
|
2003
|
+
const message = req.message;
|
|
2004
|
+
message.__webframezCoreRequest = req;
|
|
2005
|
+
try {
|
|
2006
|
+
await handleNodeRequest(message, res.res);
|
|
2007
|
+
} finally {
|
|
2008
|
+
delete message.__webframezCoreRequest;
|
|
2009
|
+
}
|
|
1967
2010
|
await waitForResponseFinish(res.res);
|
|
1968
2011
|
},
|
|
1969
2012
|
routeOptions
|