Skip to content

Commit

Permalink
fix: redirect in getStaticProps (#2393)
Browse files Browse the repository at this point in the history
* implement redirectSsg.

* rename function.
  • Loading branch information
KensukeTakahara committed Mar 9, 2022
1 parent f6b7efb commit 21283ab
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
18 changes: 18 additions & 0 deletions packages/libs/core/src/handle/redirect.ts
Expand Up @@ -7,3 +7,21 @@ export const redirect = (event: Event, route: RedirectRoute) => {
event.res.statusMessage = route.statusDescription;
event.res.end();
};

export const redirectByPageProps = (event: Event, route: RedirectRoute) => {
event.res.setHeader(
"cache-control",
route.headers?.cacheControl?.join(":") ?? ""
);
event.res.statusCode = 200;

const body = {
pageProps: {
__N_REDIRECT: route.headers?.location[0].value ?? "",
__N_REDIRECT_STATUS: route.status
},
__N_SSG: true
};
event.res.write(JSON.stringify(body));
event.res.end();
};
4 changes: 2 additions & 2 deletions packages/libs/lambda-at-edge/src/default-handler.ts
Expand Up @@ -51,7 +51,7 @@ import { s3BucketNameFromEventRequest } from "./s3/s3BucketNameFromEventRequest"
import { triggerStaticRegeneration } from "./lib/triggerStaticRegeneration";
import { s3StorePage } from "./s3/s3StorePage";
import { createRedirectResponse } from "@sls-next/core/dist/module/route/redirect";
import { redirect } from "@sls-next/core/dist/module/handle/redirect";
import { redirectByPageProps } from "@sls-next/core/dist/module/handle/redirect";
import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3";
import getStream from "get-stream";

Expand Down Expand Up @@ -492,7 +492,7 @@ const handleOriginResponse = async ({
statusCode
);

redirect({ req, res, responsePromise }, redirectResponse);
redirectByPageProps({ req, res, responsePromise }, redirectResponse);

return await responsePromise;
}
Expand Down

0 comments on commit 21283ab

Please sign in to comment.