PluginProbe
Gutenberg / trunk
Gutenberg vtrunk
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
← All changes | build/scripts/api-fetch/index.js +27 -6 23.7.0 → trunk View file →
@@ -1,4 +1,5 @@
1 +(function() {
1 2 "use strict";
2 3 var wp;
3 4 (wp ||= {}).apiFetch = (() => {
4 5 var __create = Object.create;
@@ -347,11 +348,18 @@
347 348 var import_i18n2 = __toESM(require_i18n(), 1);
348 349
349 350 // packages/api-fetch/build-module/utils/response.mjs
350 351 var import_i18n = __toESM(require_i18n(), 1);
351 - async function parseJsonAndNormalizeError(response) {
352 + async function parseJsonAndNormalizeError(response, allowEmptyBody = false) {
352 353 try {
353 - return await response.json();
354 + if (typeof response.text !== "function") {
355 + return await response.json();
356 + }
357 + const text = await response.text();
358 + if (allowEmptyBody && text === "") {
359 + return null;
360 + }
361 + return JSON.parse(text);
354 362 } catch {
355 363 throw {
356 364 code: "invalid_json",
357 365 message: (0, import_i18n.__)("The response is not a valid JSON response.")
@@ -364,9 +372,9 @@
364 372 }
365 373 if (response.status === 204) {
366 374 return null;
367 375 }
368 - return await parseJsonAndNormalizeError(response);
376 + return await parseJsonAndNormalizeError(response, true);
369 377 }
370 378 async function parseAndThrowError(response, shouldParseResponse = true) {
371 379 if (!shouldParseResponse) {
372 380 throw response;
@@ -489,8 +497,16 @@
489 497 ];
490 498 function registerMiddleware(middleware) {
491 499 middlewares.unshift(middleware);
492 500 }
501 + function unregisterMiddleware(middleware) {
502 + const index = middlewares.indexOf(middleware);
503 + if (index === -1) {
504 + return false;
505 + }
506 + middlewares.splice(index, 1);
507 + return true;
508 + }
493 509 function enablePreloadMultiUse() {
494 510 for (const middleware of middlewares) {
495 511 middleware[ENABLE_MULTI_USE]?.();
496 512 }
@@ -499,11 +515,11 @@
499 515 for (const middleware of middlewares) {
500 516 middleware[CLEAR]?.();
501 517 }
502 518 }
503 - var defaultFetchHandler = (nextOptions) => {
504 - const { url, path, data, parse = true, ...remainingOptions } = nextOptions;
505 - let { body, headers } = nextOptions;
519 + var defaultFetchHandler = (options) => {
520 + const { url, path, data, parse = true, ...remainingOptions } = options;
521 + let { body, headers } = options;
506 522 headers = { ...DEFAULT_HEADERS, ...headers };
507 523 if (data) {
508 524 body = JSON.stringify(data);
509 525 headers["Content-Type"] = "application/json";
@@ -572,9 +588,11 @@
572 588 });
573 589 });
574 590 };
575 591 apiFetch.use = registerMiddleware;
592 + apiFetch.unregister = unregisterMiddleware;
576 593 apiFetch.setFetchHandler = setFetchHandler;
594 + apiFetch.defaultFetchHandler = defaultFetchHandler;
577 595 apiFetch.privateApis = {};
578 596 lock(apiFetch.privateApis, {
579 597 enablePreloadMultiUse,
580 598 clearPreloadedData
@@ -582,8 +600,9 @@
582 600 apiFetch.createNonceMiddleware = nonce_default;
583 601 apiFetch.createPreloadingMiddleware = preloading_default;
584 602 apiFetch.createRootURLMiddleware = root_url_default;
585 603 apiFetch.fetchAllMiddleware = fetch_all_middleware_default;
604 + apiFetch.httpV1Middleware = http_v1_default;
586 605 apiFetch.mediaUploadMiddleware = media_upload_default;
587 606 apiFetch.createThemePreviewMiddleware = theme_preview_default;
588 607 var index_default = apiFetch;
589 608 return __toCommonJS(index_exports);
@@ -588,5 +607,7 @@
588 607 var index_default = apiFetch;
589 608 return __toCommonJS(index_exports);
590 609 })();
591 610 if (typeof wp.apiFetch === 'object' && wp.apiFetch.default) { wp.apiFetch = wp.apiFetch.default; }
611 +(window.wp ||= {}).apiFetch = wp.apiFetch;
612 +})();
592 613 //# sourceMappingURL=index.js.map