Add AnyClip integration tools and extracted source code
- Add authentication scripts with SubtleCrypto password encryption - Add sourcemap extraction pipeline (update-urls, download-sourcemaps, extract-sources) - Add Playwright API interception script for monetization endpoints - Document two-step auth flow with JWT tokens and dual cookies - Move extracted source from root to anyclip/ directory - Add project configuration (.env.example, .gitignore, CLAUDE.md)
This commit is contained in:
33
anyclip/src/client/components/forbidden.ts
Normal file
33
anyclip/src/client/components/forbidden.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import {
|
||||
HTTP_ERROR_FALLBACK_ERROR_CODE,
|
||||
type HTTPAccessFallbackError,
|
||||
} from './http-access-fallback/http-access-fallback'
|
||||
|
||||
// TODO: Add `forbidden` docs
|
||||
/**
|
||||
* @experimental
|
||||
* This function allows you to render the [forbidden.js file](https://nextjs.org/docs/app/api-reference/file-conventions/forbidden)
|
||||
* within a route segment as well as inject a tag.
|
||||
*
|
||||
* `forbidden()` 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: `forbidden`](https://nextjs.org/docs/app/api-reference/functions/forbidden)
|
||||
*/
|
||||
|
||||
const DIGEST = `${HTTP_ERROR_FALLBACK_ERROR_CODE};403`
|
||||
|
||||
export function forbidden(): never {
|
||||
if (!process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS) {
|
||||
throw new Error(
|
||||
`\`forbidden()\` is experimental and only allowed to be enabled when \`experimental.authInterrupts\` is enabled.`
|
||||
)
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-throw-literal
|
||||
const error = new Error(DIGEST) as HTTPAccessFallbackError
|
||||
;(error as HTTPAccessFallbackError).digest = DIGEST
|
||||
throw error
|
||||
}
|
||||
Reference in New Issue
Block a user