UNPKG

@ynmstudio/utils

Version:
1 lines 9.17 kB
{"version":3,"file":"ynmstudio-utils-interceptors.mjs","sources":["../../../projects/ynm-utils/interceptors/src/craft/craft-iframe-resizer.interceptor.ts","../../../projects/ynm-utils/interceptors/src/craft/craft-preview.interceptor.ts","../../../projects/ynm-utils/interceptors/src/craft/craft-security.interceptor.ts","../../../projects/ynm-utils/interceptors/src/ynmstudio-utils-interceptors.ts"],"sourcesContent":["import { Location, isPlatformBrowser } from \"@angular/common\";\nimport { HttpRequest, HttpHandlerFn, HttpEvent, HttpHandler, HttpInterceptor } from \"@angular/common/http\";\nimport { inject, Injectable, PLATFORM_ID } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\n\n/** Inject With Credentials into the request */\n@Injectable()\nexport class CraftIframeResizerInterceptor implements HttpInterceptor {\n constructor() { }\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const platform = inject(PLATFORM_ID);\n if (!isPlatformBrowser(platform)) return next.handle(req);\n\n const location = inject(Location);\n\n if (req.url.includes('/api')) {\n const [, paramString] = location.path().split('?');\n const urlParams = new URLSearchParams(paramString);\n if (urlParams.has('x-craft-live-preview') && urlParams.has('token')) {\n import(\"iframe-resizer\")\n .then(() => console.log('iFrameResizer loaded'))\n .catch(error => console.error(error));\n }\n return next.handle(req);\n } else {\n return next.handle(req);\n }\n }\n}\n\nexport const craftIframeResizerInterceptor = (\n req: HttpRequest<unknown>, next: HttpHandlerFn\n) => {\n const platform = inject(PLATFORM_ID);\n if (!isPlatformBrowser(platform)) return next(req);\n\n const location = inject(Location);\n\n if (req.url.includes('/api')) {\n const [, paramString] = location.path().split('?');\n const urlParams = new URLSearchParams(paramString);\n if (urlParams.has('x-craft-live-preview') && urlParams.has('token')) {\n import(\"iframe-resizer\")\n .then(() => console.log('iFrameResizer loaded'))\n .catch(error => console.error(error));\n }\n return next(req);\n } else {\n return next(req);\n }\n}","import { inject } from '@angular/core';\nimport { HttpRequest, HttpResponse, HttpHandlerFn } from '@angular/common/http';\nimport { filter } from 'rxjs';\nimport { Location } from '@angular/common';\nimport { IsrService } from '@rx-angular/isr/browser';\n\n\nexport const craftPreviewInterceptor = (\n req: HttpRequest<unknown>, next: HttpHandlerFn\n) => {\n const location = inject(Location);\n\n if (req.url.includes('/api')) {\n const [, paramString] = location.path().split('?');\n const urlParams = new URLSearchParams(paramString);\n if ((urlParams.has('x-craft-live-preview') || urlParams.has('x-craft-preview')) && urlParams.has('token')) {\n\n const duplicate = req.clone({\n setParams: {\n token: urlParams.get(\"token\") || \"\",\n fetchPolicy: 'no-cache',\n },\n });\n\n return next(duplicate).pipe(\n filter((event: any) => event instanceof HttpResponse)\n );\n } else {\n return next(req);\n }\n } else {\n return next(req);\n }\n}\n\nexport const craftPreviewPreventIsrCache = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\n const location = inject(Location);\n const isrService = inject(IsrService, { optional: true }) ?? undefined;\n\n if (req.url.includes('/api')) {\n const [, paramString] = location.path().split('?');\n const urlParams = new URLSearchParams(paramString);\n if ((urlParams.has('x-craft-live-preview') || urlParams.has('x-craft-preview')) && urlParams.has('token')) {\n isrService?.addError({\n name: 'Craft CMS Preview Mode',\n message: 'Page should not get cached in preview mode',\n } as Error);\n }\n }\n return next(req);\n}\n\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpHeaders, HttpInterceptorFn } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n/** Inject With Credentials into the request */\n@Injectable()\nexport class CraftSecurityInterceptor implements HttpInterceptor {\n constructor() { }\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n req = req.clone({\n // withCredentials: req.body && req.body.query ? false : true,\n headers: new HttpHeaders({\n Accept: 'application/json',\n }),\n });\n\n return next.handle(req);\n }\n}\nexport const craftSecurityInterceptor: HttpInterceptorFn = (\n req,\n next\n) => {\n req = req.clone({\n // withCredentials: req.body && req.body.query ? false : true,\n setHeaders: {\n Accept: 'application/json',\n },\n });\n\n return next(req);\n};\n\n/**\n * @deprecated Use `craftSecurityInterceptor` instead\n */\nexport const CraftSecurityInterceptorFn = craftSecurityInterceptor;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}