@absolutejs/absolute 0.20.0-beta.47 → 0.20.0-beta.49

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.
@@ -6500,6 +6500,7 @@ var getCurrentAbsoluteMobileProducerContext = () => {
6500
6500
  // src/mobile/pageProtocol.ts
6501
6501
  var ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE = "application/vnd.absolute.page+json";
6502
6502
  var ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION = 1;
6503
+ var ABSOLUTE_NATIVE_ROUTE_DATA_MEDIA_TYPE = "application/vnd.absolute.native-route+json";
6503
6504
  var BAD_REQUEST_STATUS = 400;
6504
6505
  var OK_STATUS = 200;
6505
6506
  var SERVER_ERROR_STATUS = 500;
@@ -6518,6 +6519,11 @@ var acceptsAbsoluteMobilePage = (request) => {
6518
6519
  return false;
6519
6520
  return (request.headers.get("accept") ?? "").split(",").some((value) => parseMediaType(value) === ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE);
6520
6521
  };
6522
+ var acceptsAbsoluteNativeRouteData = (request) => {
6523
+ if (!request)
6524
+ return false;
6525
+ return (request.headers.get("accept") ?? "").split(",").some((value) => parseMediaType(value) === ABSOLUTE_NATIVE_ROUTE_DATA_MEDIA_TYPE);
6526
+ };
6521
6527
  var readRequiredHeader = (request, name) => {
6522
6528
  const value = request.headers.get(name)?.trim();
6523
6529
  return value ? value : undefined;
@@ -6648,6 +6654,32 @@ var finalizeArchivedMobilePage = (context, input) => {
6648
6654
  return createAbsoluteMobilePageErrorResponse(page.pageId);
6649
6655
  }
6650
6656
  };
6657
+ var finalizeAbsoluteNativeRouteDevelopmentPage = (input) => {
6658
+ if (false) {}
6659
+ if (input.request?.method !== "GET") {
6660
+ return createAbsoluteMobileInvalidRequestResponse("Native-route data requests must use GET.");
6661
+ }
6662
+ if (input.request.headers.get(MOBILE_PAGE_REQUEST_HEADERS.protocol) !== String(ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION)) {
6663
+ return createAbsoluteMobileInvalidRequestResponse(`Native-route data requires protocol ${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}.`);
6664
+ }
6665
+ const [representation] = input.compatibility.representations;
6666
+ if (!representation) {
6667
+ return createAbsoluteMobilePageErrorResponse(input.compatibility.pageId);
6668
+ }
6669
+ try {
6670
+ return envelopeResponse({
6671
+ contract: representation.contract,
6672
+ framework: input.compatibility.framework,
6673
+ kind: "page",
6674
+ pageId: input.compatibility.pageId,
6675
+ props: normalizeJsonValue(representation.mapProps(input.props)),
6676
+ status: input.status ?? OK_STATUS
6677
+ }, input.status ?? OK_STATUS);
6678
+ } catch (error) {
6679
+ console.error(`[Mobile] Failed to produce development native route ${input.compatibility.pageId}:`, error);
6680
+ return createAbsoluteMobilePageErrorResponse(input.compatibility.pageId);
6681
+ }
6682
+ };
6651
6683
  var createAbsoluteMobileInvalidRequestResponse = (message) => envelopeResponse({ kind: "invalid-request", message }, BAD_REQUEST_STATUS);
6652
6684
  var createAbsoluteMobilePageErrorResponse = (pageId) => envelopeResponse({
6653
6685
  code: "representation-failed",
@@ -6657,6 +6689,9 @@ var createAbsoluteMobilePageErrorResponse = (pageId) => envelopeResponse({
6657
6689
  }, SERVER_ERROR_STATUS);
6658
6690
  var createAbsoluteMobileUpgradeResponse = (result) => envelopeResponse(result, UPGRADE_REQUIRED_STATUS);
6659
6691
  var finalizeAbsoluteMobilePage = (input) => {
6692
+ if (acceptsAbsoluteNativeRouteData(input.request)) {
6693
+ return finalizeAbsoluteNativeRouteDevelopmentPage(input);
6694
+ }
6660
6695
  const parsed = parseAbsoluteMobilePageRequest(input.request);
6661
6696
  if (parsed.kind === "not-mobile")
6662
6697
  return;
@@ -7147,5 +7182,5 @@ export {
7147
7182
  withPendingTask
7148
7183
  };
7149
7184
 
7150
- //# debugId=56AAAB9147386E1364756E2164756E21
7185
+ //# debugId=A664694154EAE2F664756E2164756E21
7151
7186
  //# sourceMappingURL=server.js.map