104 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
| /**
 | |
|  * Copyright © Magento, Inc. All rights reserved.
 | |
|  * See COPYING.txt for license details.
 | |
|  */
 | |
| 
 | |
| define(['jquery', 'mage/url'], function ($, urlBuilder) {
 | |
|     'use strict';
 | |
| 
 | |
|     return {
 | |
|         /**
 | |
|          * Perform asynchronous GET request to server.
 | |
|          * @param {String} url
 | |
|          * @param {Boolean} global
 | |
|          * @param {String} contentType
 | |
|          * @param {Object} headers
 | |
|          * @returns {Deferred}
 | |
|          */
 | |
|         get: function (url, global, contentType, headers) {
 | |
|             headers = headers || {};
 | |
|             global = global === undefined ? true : global;
 | |
|             contentType = contentType || 'application/json';
 | |
| 
 | |
|             return $.ajax({
 | |
|                 url: urlBuilder.build(url),
 | |
|                 type: 'GET',
 | |
|                 global: global,
 | |
|                 contentType: contentType,
 | |
|                 headers: headers
 | |
|             });
 | |
|         },
 | |
| 
 | |
|         /**
 | |
|          * Perform asynchronous POST request to server.
 | |
|          * @param {String} url
 | |
|          * @param {String} data
 | |
|          * @param {Boolean} global
 | |
|          * @param {String} contentType
 | |
|          * @param {Object} headers
 | |
|          * @returns {Deferred}
 | |
|          */
 | |
|         post: function (url, data, global, contentType, headers) {
 | |
|             headers = headers || {};
 | |
|             global = global === undefined ? true : global;
 | |
|             contentType = contentType || 'application/json';
 | |
| 
 | |
|             return $.ajax({
 | |
|                 url: urlBuilder.build(url),
 | |
|                 type: 'POST',
 | |
|                 data: data,
 | |
|                 global: global,
 | |
|                 contentType: contentType,
 | |
|                 headers: headers
 | |
|             });
 | |
|         },
 | |
| 
 | |
|         /**
 | |
|          * Perform asynchronous PUT request to server.
 | |
|          * @param {String} url
 | |
|          * @param {String} data
 | |
|          * @param {Boolean} global
 | |
|          * @param {String} contentType
 | |
|          * @param {Object} headers
 | |
|          * @returns {Deferred}
 | |
|          */
 | |
|         put: function (url, data, global, contentType, headers) {
 | |
|             var ajaxSettings = {};
 | |
| 
 | |
|             headers = headers || {};
 | |
|             global = global === undefined ? true : global;
 | |
|             contentType = contentType || 'application/json';
 | |
|             ajaxSettings.url = urlBuilder.build(url);
 | |
|             ajaxSettings.type = 'PUT';
 | |
|             ajaxSettings.data = data;
 | |
|             ajaxSettings.global = global;
 | |
|             ajaxSettings.contentType = contentType;
 | |
|             ajaxSettings.headers = headers;
 | |
| 
 | |
|             return $.ajax(ajaxSettings);
 | |
|         },
 | |
| 
 | |
|         /**
 | |
|          * Perform asynchronous DELETE request to server.
 | |
|          * @param {String} url
 | |
|          * @param {Boolean} global
 | |
|          * @param {String} contentType
 | |
|          * @param {Object} headers
 | |
|          * @returns {Deferred}
 | |
|          */
 | |
|         delete: function (url, global, contentType, headers) {
 | |
|             headers = headers || {};
 | |
|             global = global === undefined ? true : global;
 | |
|             contentType = contentType || 'application/json';
 | |
| 
 | |
|             return $.ajax({
 | |
|                 url: urlBuilder.build(url),
 | |
|                 type: 'DELETE',
 | |
|                 global: global,
 | |
|                 contentType: contentType,
 | |
|                 headers: headers
 | |
|             });
 | |
|         }
 | |
|     };
 | |
| });
 |