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

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.
@@ -2907,6 +2907,7 @@ var getCurrentAbsoluteMobileProducerContext = () => {
2907
2907
  // src/mobile/pageProtocol.ts
2908
2908
  var ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE = "application/vnd.absolute.page+json";
2909
2909
  var ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION = 1;
2910
+ var ABSOLUTE_NATIVE_ROUTE_DATA_MEDIA_TYPE = "application/vnd.absolute.native-route+json";
2910
2911
  var BAD_REQUEST_STATUS = 400;
2911
2912
  var OK_STATUS = 200;
2912
2913
  var SERVER_ERROR_STATUS = 500;
@@ -2925,6 +2926,11 @@ var acceptsAbsoluteMobilePage = (request) => {
2925
2926
  return false;
2926
2927
  return (request.headers.get("accept") ?? "").split(",").some((value) => parseMediaType(value) === ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE);
2927
2928
  };
2929
+ var acceptsAbsoluteNativeRouteData = (request) => {
2930
+ if (!request)
2931
+ return false;
2932
+ return (request.headers.get("accept") ?? "").split(",").some((value) => parseMediaType(value) === ABSOLUTE_NATIVE_ROUTE_DATA_MEDIA_TYPE);
2933
+ };
2928
2934
  var readRequiredHeader = (request, name) => {
2929
2935
  const value = request.headers.get(name)?.trim();
2930
2936
  return value ? value : undefined;
@@ -3055,6 +3061,32 @@ var finalizeArchivedMobilePage = (context, input) => {
3055
3061
  return createAbsoluteMobilePageErrorResponse(page.pageId);
3056
3062
  }
3057
3063
  };
3064
+ var finalizeAbsoluteNativeRouteDevelopmentPage = (input) => {
3065
+ if (false) {}
3066
+ if (input.request?.method !== "GET") {
3067
+ return createAbsoluteMobileInvalidRequestResponse("Native-route data requests must use GET.");
3068
+ }
3069
+ if (input.request.headers.get(MOBILE_PAGE_REQUEST_HEADERS.protocol) !== String(ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION)) {
3070
+ return createAbsoluteMobileInvalidRequestResponse(`Native-route data requires protocol ${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}.`);
3071
+ }
3072
+ const [representation] = input.compatibility.representations;
3073
+ if (!representation) {
3074
+ return createAbsoluteMobilePageErrorResponse(input.compatibility.pageId);
3075
+ }
3076
+ try {
3077
+ return envelopeResponse({
3078
+ contract: representation.contract,
3079
+ framework: input.compatibility.framework,
3080
+ kind: "page",
3081
+ pageId: input.compatibility.pageId,
3082
+ props: normalizeJsonValue(representation.mapProps(input.props)),
3083
+ status: input.status ?? OK_STATUS
3084
+ }, input.status ?? OK_STATUS);
3085
+ } catch (error) {
3086
+ console.error(`[Mobile] Failed to produce development native route ${input.compatibility.pageId}:`, error);
3087
+ return createAbsoluteMobilePageErrorResponse(input.compatibility.pageId);
3088
+ }
3089
+ };
3058
3090
  var createAbsoluteMobileInvalidRequestResponse = (message) => envelopeResponse({ kind: "invalid-request", message }, BAD_REQUEST_STATUS);
3059
3091
  var createAbsoluteMobilePageErrorResponse = (pageId) => envelopeResponse({
3060
3092
  code: "representation-failed",
@@ -3064,6 +3096,9 @@ var createAbsoluteMobilePageErrorResponse = (pageId) => envelopeResponse({
3064
3096
  }, SERVER_ERROR_STATUS);
3065
3097
  var createAbsoluteMobileUpgradeResponse = (result) => envelopeResponse(result, UPGRADE_REQUIRED_STATUS);
3066
3098
  var finalizeAbsoluteMobilePage = (input) => {
3099
+ if (acceptsAbsoluteNativeRouteData(input.request)) {
3100
+ return finalizeAbsoluteNativeRouteDevelopmentPage(input);
3101
+ }
3067
3102
  const parsed = parseAbsoluteMobilePageRequest(input.request);
3068
3103
  if (parsed.kind === "not-mobile")
3069
3104
  return;
@@ -3381,5 +3416,5 @@ export {
3381
3416
  handleSveltePageRequest
3382
3417
  };
3383
3418
 
3384
- //# debugId=4FC9B031FA1E570664756E2164756E21
3419
+ //# debugId=7795FE7846F602C564756E2164756E21
3385
3420
  //# sourceMappingURL=server.js.map