wp/wp-includes/js/dist/api-fetch.js
changeset 22 8c2e4d02f4ef
parent 21 48c4eec2b7e6
equal deleted inserted replaced
21:48c4eec2b7e6 22:8c2e4d02f4ef
    27 // EXPORTS
    27 // EXPORTS
    28 __webpack_require__.d(__webpack_exports__, {
    28 __webpack_require__.d(__webpack_exports__, {
    29   "default": () => (/* binding */ build_module)
    29   "default": () => (/* binding */ build_module)
    30 });
    30 });
    31 
    31 
    32 ;// CONCATENATED MODULE: external ["wp","i18n"]
    32 ;// external ["wp","i18n"]
    33 const external_wp_i18n_namespaceObject = window["wp"]["i18n"];
    33 const external_wp_i18n_namespaceObject = window["wp"]["i18n"];
    34 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/nonce.js
    34 ;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/nonce.js
    35 /**
    35 /**
    36  * @param {string} nonce
    36  * @param {string} nonce
    37  * @return {import('../types').APIFetchMiddleware & { nonce: string }} A middleware to enhance a request with a nonce.
    37  * @return {import('../types').APIFetchMiddleware & { nonce: string }} A middleware to enhance a request with a nonce.
    38  */
    38  */
    39 function createNonceMiddleware(nonce) {
    39 function createNonceMiddleware(nonce) {
    63   middleware.nonce = nonce;
    63   middleware.nonce = nonce;
    64   return middleware;
    64   return middleware;
    65 }
    65 }
    66 /* harmony default export */ const nonce = (createNonceMiddleware);
    66 /* harmony default export */ const nonce = (createNonceMiddleware);
    67 
    67 
    68 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/namespace-endpoint.js
    68 ;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/namespace-endpoint.js
    69 /**
    69 /**
    70  * @type {import('../types').APIFetchMiddleware}
    70  * @type {import('../types').APIFetchMiddleware}
    71  */
    71  */
    72 const namespaceAndEndpointMiddleware = (options, next) => {
    72 const namespaceAndEndpointMiddleware = (options, next) => {
    73   let path = options.path;
    73   let path = options.path;
    88     path
    88     path
    89   });
    89   });
    90 };
    90 };
    91 /* harmony default export */ const namespace_endpoint = (namespaceAndEndpointMiddleware);
    91 /* harmony default export */ const namespace_endpoint = (namespaceAndEndpointMiddleware);
    92 
    92 
    93 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/root-url.js
    93 ;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/root-url.js
    94 /**
    94 /**
    95  * Internal dependencies
    95  * Internal dependencies
    96  */
    96  */
    97 
    97 
    98 
    98 
   125     });
   125     });
   126   });
   126   });
   127 };
   127 };
   128 /* harmony default export */ const root_url = (createRootURLMiddleware);
   128 /* harmony default export */ const root_url = (createRootURLMiddleware);
   129 
   129 
   130 ;// CONCATENATED MODULE: external ["wp","url"]
   130 ;// external ["wp","url"]
   131 const external_wp_url_namespaceObject = window["wp"]["url"];
   131 const external_wp_url_namespaceObject = window["wp"]["url"];
   132 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/preloading.js
   132 ;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/preloading.js
   133 /**
   133 /**
   134  * WordPress dependencies
   134  * WordPress dependencies
   135  */
   135  */
   136 
   136 
   137 
   137 
   184  * @param {Record<string, any>} responseData
   184  * @param {Record<string, any>} responseData
   185  * @param {boolean}             parse
   185  * @param {boolean}             parse
   186  * @return {Promise<any>} Promise with the response.
   186  * @return {Promise<any>} Promise with the response.
   187  */
   187  */
   188 function prepareResponse(responseData, parse) {
   188 function prepareResponse(responseData, parse) {
   189   return Promise.resolve(parse ? responseData.body : new window.Response(JSON.stringify(responseData.body), {
   189   if (parse) {
   190     status: 200,
   190     return Promise.resolve(responseData.body);
   191     statusText: 'OK',
   191   }
   192     headers: responseData.headers
   192   try {
   193   }));
   193     return Promise.resolve(new window.Response(JSON.stringify(responseData.body), {
       
   194       status: 200,
       
   195       statusText: 'OK',
       
   196       headers: responseData.headers
       
   197     }));
       
   198   } catch {
       
   199     // See: https://github.com/WordPress/gutenberg/issues/67358#issuecomment-2621163926.
       
   200     Object.entries(responseData.headers).forEach(([key, value]) => {
       
   201       if (key.toLowerCase() === 'link') {
       
   202         responseData.headers[key] = value.replace(/<([^>]+)>/, (/** @type {any} */_, /** @type {string} */url) => `<${encodeURI(url)}>`);
       
   203       }
       
   204     });
       
   205     return Promise.resolve(parse ? responseData.body : new window.Response(JSON.stringify(responseData.body), {
       
   206       status: 200,
       
   207       statusText: 'OK',
       
   208       headers: responseData.headers
       
   209     }));
       
   210   }
   194 }
   211 }
   195 /* harmony default export */ const preloading = (createPreloadingMiddleware);
   212 /* harmony default export */ const preloading = (createPreloadingMiddleware);
   196 
   213 
   197 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/fetch-all-middleware.js
   214 ;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/fetch-all-middleware.js
   198 /**
   215 /**
   199  * WordPress dependencies
   216  * WordPress dependencies
   200  */
   217  */
   201 
   218 
   202 
   219 
   318   }
   335   }
   319   return mergedResults;
   336   return mergedResults;
   320 };
   337 };
   321 /* harmony default export */ const fetch_all_middleware = (fetchAllMiddleware);
   338 /* harmony default export */ const fetch_all_middleware = (fetchAllMiddleware);
   322 
   339 
   323 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/http-v1.js
   340 ;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/http-v1.js
   324 /**
   341 /**
   325  * Set of HTTP methods which are eligible to be overridden.
   342  * Set of HTTP methods which are eligible to be overridden.
   326  *
   343  *
   327  * @type {Set<string>}
   344  * @type {Set<string>}
   328  */
   345  */
   363   }
   380   }
   364   return next(options);
   381   return next(options);
   365 };
   382 };
   366 /* harmony default export */ const http_v1 = (httpV1Middleware);
   383 /* harmony default export */ const http_v1 = (httpV1Middleware);
   367 
   384 
   368 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/user-locale.js
   385 ;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/user-locale.js
   369 /**
   386 /**
   370  * WordPress dependencies
   387  * WordPress dependencies
   371  */
   388  */
   372 
   389 
   373 
   390 
   387   }
   404   }
   388   return next(options);
   405   return next(options);
   389 };
   406 };
   390 /* harmony default export */ const user_locale = (userLocaleMiddleware);
   407 /* harmony default export */ const user_locale = (userLocaleMiddleware);
   391 
   408 
   392 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/utils/response.js
   409 ;// ./node_modules/@wordpress/api-fetch/build-module/utils/response.js
   393 /**
   410 /**
   394  * WordPress dependencies
   411  * WordPress dependencies
   395  */
   412  */
   396 
   413 
   397 
   414 
   463     };
   480     };
   464     throw error || unknownError;
   481     throw error || unknownError;
   465   });
   482   });
   466 }
   483 }
   467 
   484 
   468 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/media-upload.js
   485 ;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/media-upload.js
   469 /**
   486 /**
   470  * WordPress dependencies
   487  * WordPress dependencies
   471  */
   488  */
   472 
   489 
   473 
   490 
   524   };
   541   };
   525   return next({
   542   return next({
   526     ...options,
   543     ...options,
   527     parse: false
   544     parse: false
   528   }).catch(response => {
   545   }).catch(response => {
       
   546     // `response` could actually be an error thrown by `defaultFetchHandler`.
       
   547     if (!response.headers) {
       
   548       return Promise.reject(response);
       
   549     }
   529     const attachmentId = response.headers.get('x-wp-upload-attachment-id');
   550     const attachmentId = response.headers.get('x-wp-upload-attachment-id');
   530     if (response.status >= 500 && response.status < 600 && attachmentId) {
   551     if (response.status >= 500 && response.status < 600 && attachmentId) {
   531       return postProcess(attachmentId).catch(() => {
   552       return postProcess(attachmentId).catch(() => {
   532         if (options.parse !== false) {
   553         if (options.parse !== false) {
   533           return Promise.reject({
   554           return Promise.reject({
   541     return parseAndThrowError(response, options.parse);
   562     return parseAndThrowError(response, options.parse);
   542   }).then(response => parseResponseAndNormalizeError(response, options.parse));
   563   }).then(response => parseResponseAndNormalizeError(response, options.parse));
   543 };
   564 };
   544 /* harmony default export */ const media_upload = (mediaUploadMiddleware);
   565 /* harmony default export */ const media_upload = (mediaUploadMiddleware);
   545 
   566 
   546 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/theme-preview.js
   567 ;// ./node_modules/@wordpress/api-fetch/build-module/middlewares/theme-preview.js
   547 /**
   568 /**
   548  * WordPress dependencies
   569  * WordPress dependencies
   549  */
   570  */
   550 
   571 
   551 
   572 
   582   }
   603   }
   583   return next(options);
   604   return next(options);
   584 };
   605 };
   585 /* harmony default export */ const theme_preview = (createThemePreviewMiddleware);
   606 /* harmony default export */ const theme_preview = (createThemePreviewMiddleware);
   586 
   607 
   587 ;// CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/index.js
   608 ;// ./node_modules/@wordpress/api-fetch/build-module/index.js
   588 /**
   609 /**
   589  * WordPress dependencies
   610  * WordPress dependencies
   590  */
   611  */
   591 
   612 
   592 
   613 
   733   // creates a nested function chain that calls all middlewares and finally the `fetchHandler`,
   754   // creates a nested function chain that calls all middlewares and finally the `fetchHandler`,
   734   // converting `middlewares = [ m1, m2, m3 ]` into:
   755   // converting `middlewares = [ m1, m2, m3 ]` into:
   735   // ```
   756   // ```
   736   // opts1 => m1( opts1, opts2 => m2( opts2, opts3 => m3( opts3, fetchHandler ) ) );
   757   // opts1 => m1( opts1, opts2 => m2( opts2, opts3 => m3( opts3, fetchHandler ) ) );
   737   // ```
   758   // ```
   738   const enhancedHandler = middlewares.reduceRight(( /** @type {FetchHandler} */next, middleware) => {
   759   const enhancedHandler = middlewares.reduceRight((/** @type {FetchHandler} */next, middleware) => {
   739     return workingOptions => middleware(workingOptions, next);
   760     return workingOptions => middleware(workingOptions, next);
   740   }, fetchHandler);
   761   }, fetchHandler);
   741   return enhancedHandler(options).catch(error => {
   762   return enhancedHandler(options).catch(error => {
   742     if (error.code !== 'rest_cookie_invalid_nonce') {
   763     if (error.code !== 'rest_cookie_invalid_nonce') {
   743       return Promise.reject(error);
   764       return Promise.reject(error);