diff -r 48c4eec2b7e6 -r 8c2e4d02f4ef wp/wp-includes/js/dist/api-fetch.js --- a/wp/wp-includes/js/dist/api-fetch.js Fri Sep 05 18:40:08 2025 +0200 +++ b/wp/wp-includes/js/dist/api-fetch.js Fri Sep 05 18:52:52 2025 +0200 @@ -29,9 +29,9 @@ "default": () => (/* binding */ build_module) }); -;// CONCATENATED MODULE: external ["wp","i18n"] +;// external ["wp","i18n"] const external_wp_i18n_namespaceObject = window["wp"]["i18n"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/nonce.js +;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/nonce.js /** * @param {string} nonce * @return {import('../types').APIFetchMiddleware & { nonce: string }} A middleware to enhance a request with a nonce. @@ -65,7 +65,7 @@ } /* harmony default export */ const nonce = (createNonceMiddleware); -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/namespace-endpoint.js +;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/namespace-endpoint.js /** * @type {import('../types').APIFetchMiddleware} */ @@ -90,7 +90,7 @@ }; /* harmony default export */ const namespace_endpoint = (namespaceAndEndpointMiddleware); -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/root-url.js +;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/root-url.js /** * Internal dependencies */ @@ -127,9 +127,9 @@ }; /* harmony default export */ const root_url = (createRootURLMiddleware); -;// CONCATENATED MODULE: external ["wp","url"] +;// external ["wp","url"] const external_wp_url_namespaceObject = window["wp"]["url"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/preloading.js +;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/preloading.js /** * WordPress dependencies */ @@ -186,15 +186,32 @@ * @return {Promise} Promise with the response. */ function prepareResponse(responseData, parse) { - return Promise.resolve(parse ? responseData.body : new window.Response(JSON.stringify(responseData.body), { - status: 200, - statusText: 'OK', - headers: responseData.headers - })); + if (parse) { + return Promise.resolve(responseData.body); + } + try { + return Promise.resolve(new window.Response(JSON.stringify(responseData.body), { + status: 200, + statusText: 'OK', + headers: responseData.headers + })); + } catch { + // See: https://github.com/WordPress/gutenberg/issues/67358#issuecomment-2621163926. + Object.entries(responseData.headers).forEach(([key, value]) => { + if (key.toLowerCase() === 'link') { + responseData.headers[key] = value.replace(/<([^>]+)>/, (/** @type {any} */_, /** @type {string} */url) => `<${encodeURI(url)}>`); + } + }); + return Promise.resolve(parse ? responseData.body : new window.Response(JSON.stringify(responseData.body), { + status: 200, + statusText: 'OK', + headers: responseData.headers + })); + } } /* harmony default export */ const preloading = (createPreloadingMiddleware); -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/fetch-all-middleware.js +;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/fetch-all-middleware.js /** * WordPress dependencies */ @@ -320,7 +337,7 @@ }; /* harmony default export */ const fetch_all_middleware = (fetchAllMiddleware); -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/http-v1.js +;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/http-v1.js /** * Set of HTTP methods which are eligible to be overridden. * @@ -365,7 +382,7 @@ }; /* harmony default export */ const http_v1 = (httpV1Middleware); -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/user-locale.js +;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/user-locale.js /** * WordPress dependencies */ @@ -389,7 +406,7 @@ }; /* harmony default export */ const user_locale = (userLocaleMiddleware); -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/utils/response.js +;// ./node_modules/@wordpress/api-fetch/build-module/utils/response.js /** * WordPress dependencies */ @@ -465,7 +482,7 @@ }); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/media-upload.js +;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/media-upload.js /** * WordPress dependencies */ @@ -526,6 +543,10 @@ ...options, parse: false }).catch(response => { + // `response` could actually be an error thrown by `defaultFetchHandler`. + if (!response.headers) { + return Promise.reject(response); + } const attachmentId = response.headers.get('x-wp-upload-attachment-id'); if (response.status >= 500 && response.status < 600 && attachmentId) { return postProcess(attachmentId).catch(() => { @@ -543,7 +564,7 @@ }; /* harmony default export */ const media_upload = (mediaUploadMiddleware); -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/theme-preview.js +;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/theme-preview.js /** * WordPress dependencies */ @@ -584,7 +605,7 @@ }; /* harmony default export */ const theme_preview = (createThemePreviewMiddleware); -;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/index.js +;// ./node_modules/@wordpress/api-fetch/build-module/index.js /** * WordPress dependencies */ @@ -735,7 +756,7 @@ // ``` // opts1 => m1( opts1, opts2 => m2( opts2, opts3 => m3( opts3, fetchHandler ) ) ); // ``` - const enhancedHandler = middlewares.reduceRight(( /** @type {FetchHandler} */next, middleware) => { + const enhancedHandler = middlewares.reduceRight((/** @type {FetchHandler} */next, middleware) => { return workingOptions => middleware(workingOptions, next); }, fetchHandler); return enhancedHandler(options).catch(error => {