34 lines
1.5 KiB
JavaScript
34 lines
1.5 KiB
JavaScript
import { HTTP_ERROR_FALLBACK_ERROR_CODE } from './http-access-fallback/http-access-fallback';
|
|
// TODO: Add `unauthorized` docs
|
|
/**
|
|
* @experimental
|
|
* This function allows you to render the [unauthorized.js file](https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized)
|
|
* within a route segment as well as inject a tag.
|
|
*
|
|
* `unauthorized()` can be used in
|
|
* [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),
|
|
* [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and
|
|
* [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).
|
|
*
|
|
*
|
|
* Read more: [Next.js Docs: `unauthorized`](https://nextjs.org/docs/app/api-reference/functions/unauthorized)
|
|
*/ const DIGEST = "" + HTTP_ERROR_FALLBACK_ERROR_CODE + ";401";
|
|
export function unauthorized() {
|
|
if (!process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS) {
|
|
throw Object.defineProperty(new Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."), "__NEXT_ERROR_CODE", {
|
|
value: "E411",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
// eslint-disable-next-line no-throw-literal
|
|
const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", {
|
|
value: "E394",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
error.digest = DIGEST;
|
|
throw error;
|
|
}
|
|
|
|
//# sourceMappingURL=unauthorized.js.map
|