@php-wasm/web-service-worker 0.2.0 → 0.3.1

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@php-wasm/web-service-worker",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "PHP.wasm – service worker utils",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,12 +23,12 @@
23
23
  "type": "module",
24
24
  "main": "src/index.js",
25
25
  "types": "src/index.d.ts",
26
- "gitHead": "cd4062de74f7f18058d3f962e124d0fdff78b5a7",
26
+ "gitHead": "73b285f8b496c7442474fd7325b3f6b1287cbf95",
27
27
  "engines": {
28
28
  "node": ">=16.15.1",
29
29
  "npm": ">=8.11.0"
30
30
  },
31
31
  "dependencies": {
32
- "@php-wasm/scopes": "0.2.0"
32
+ "@php-wasm/scopes": "0.3.1"
33
33
  }
34
34
  }
@@ -30,23 +30,6 @@ export declare function broadcastMessageExpectReply(message: any, scope: string)
30
30
  interface ServiceWorkerConfiguration {
31
31
  handleRequest?: (event: FetchEvent) => Promise<Response> | undefined;
32
32
  }
33
- /**
34
- * Guesses whether the given path looks like a PHP file.
35
- *
36
- * @example
37
- * ```js
38
- * seemsLikeAPHPRequestHandlerPath('/index.php') // true
39
- * seemsLikeAPHPRequestHandlerPath('/index.php') // true
40
- * seemsLikeAPHPRequestHandlerPath('/index.php/foo/bar') // true
41
- * seemsLikeAPHPRequestHandlerPath('/index.html') // false
42
- * seemsLikeAPHPRequestHandlerPath('/index.html/foo/bar') // false
43
- * seemsLikeAPHPRequestHandlerPath('/') // true
44
- * ```
45
- *
46
- * @param path The path to check.
47
- * @returns Whether the path seems like a PHP server path.
48
- */
49
- export declare function seemsLikeAPHPRequestHandlerPath(path: string): boolean;
50
33
  /**
51
34
  * Copy a request with custom overrides.
52
35
  *
@@ -44,13 +44,15 @@ export function initializeServiceWorker(config) {
44
44
  async function defaultRequestHandler(event) {
45
45
  event.preventDefault();
46
46
  const url = new URL(event.request.url);
47
- const unscopedUrl = removeURLScope(url);
48
- if (!seemsLikeAPHPRequestHandlerPath(unscopedUrl.pathname)) {
49
- return fetch(await cloneRequest(event.request, {
47
+ const workerResponse = await convertFetchEventToPHPRequest(event);
48
+ if (workerResponse.status === 404 &&
49
+ workerResponse.headers.get('x-file-type') === 'static') {
50
+ const request = await cloneRequest(event.request, {
50
51
  url,
51
- }));
52
+ });
53
+ return fetch(request);
52
54
  }
53
- return convertFetchEventToPHPRequest(event);
55
+ return workerResponse;
54
56
  }
55
57
  export async function convertFetchEventToPHPRequest(event) {
56
58
  let url = new URL(event.request.url);
@@ -157,32 +159,6 @@ export async function broadcastMessageExpectReply(message, scope) {
157
159
  }
158
160
  return requestId;
159
161
  }
160
- /**
161
- * Guesses whether the given path looks like a PHP file.
162
- *
163
- * @example
164
- * ```js
165
- * seemsLikeAPHPRequestHandlerPath('/index.php') // true
166
- * seemsLikeAPHPRequestHandlerPath('/index.php') // true
167
- * seemsLikeAPHPRequestHandlerPath('/index.php/foo/bar') // true
168
- * seemsLikeAPHPRequestHandlerPath('/index.html') // false
169
- * seemsLikeAPHPRequestHandlerPath('/index.html/foo/bar') // false
170
- * seemsLikeAPHPRequestHandlerPath('/') // true
171
- * ```
172
- *
173
- * @param path The path to check.
174
- * @returns Whether the path seems like a PHP server path.
175
- */
176
- export function seemsLikeAPHPRequestHandlerPath(path) {
177
- return seemsLikeAPHPFile(path) || seemsLikeADirectoryRoot(path);
178
- }
179
- function seemsLikeAPHPFile(path) {
180
- return path.endsWith('.php') || path.includes('.php/');
181
- }
182
- function seemsLikeADirectoryRoot(path) {
183
- const lastSegment = path.split('/').pop();
184
- return !lastSegment.includes('.');
185
- }
186
162
  async function rewritePost(request) {
187
163
  const contentType = request.headers.get('content-type');
188
164
  if (request.method !== 'POST') {
@@ -1 +1 @@
1
- {"version":3,"file":"initialize-service-worker.js","sourceRoot":"","sources":["../../../../../packages/php-wasm/web-service-worker/src/initialize-service-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialize-service-worker.js","sourceRoot":"","sources":["../../../../../packages/php-wasm/web-service-worker/src/initialize-service-worker.ts"],"names":[],"mappings":"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"}