atlassian-connect-js-request
Advanced tools
Comparing version 0.1.1 to 0.1.2
@@ -33,2 +33,19 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.connectHostRequest = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){ | ||
function handleMultipartRequest(ajaxOptions) { | ||
ajaxOptions.contentType = false; | ||
ajaxOptions.processData = false; | ||
if (ajaxOptions.data && typeof ajaxOptions.data === 'object') { | ||
var formData = new FormData(); | ||
Object.keys(ajaxOptions.data).forEach(function (key) { | ||
formData.append(key, ajaxOptions.data[key]); | ||
}); | ||
ajaxOptions.data = formData; | ||
ajaxOptions.headers['X-Atlassian-Token'] = 'no-check'; | ||
} else { | ||
throw new Error('For a Multipart request, data must to be an Object'); | ||
} | ||
return ajaxOptions; | ||
} | ||
exports['default'] = { | ||
@@ -76,2 +93,7 @@ request: function request(args, callback) { | ||
// if it's a multipart request, then transform data into a FormData object | ||
if (ajaxOptions.contentType === 'multipart/form-data') { | ||
ajaxOptions = handleMultipartRequest(ajaxOptions); | ||
} | ||
_dollar2['default'].each(REQUEST_HEADERS_WHITELIST, function (index, header) { | ||
@@ -99,2 +121,2 @@ if (headers[header.toLowerCase()]) { | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCIvVXNlcnMvY3doaXR0aW5ndG9uL0RvY3VtZW50cy9jb25uZWN0LWpzLW1vZHVsZXMvY29ubmVjdC1qcy1yZXF1ZXN0L3NyYy9ob3N0L2luZGV4LmpzIiwiL1VzZXJzL2N3aGl0dGluZ3Rvbi9Eb2N1bWVudHMvY29ubmVjdC1qcy1tb2R1bGVzL2Nvbm5lY3QtanMtcmVxdWVzdC9zcmMvaG9zdC9kb2xsYXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7OztzQkNBYyxVQUFVOzs7O0FBRXhCLElBQU0sY0FBYyxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztBQUNoRSxJQUFNLFdBQVcsR0FBRyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3QyxJQUFNLHlCQUF5QixHQUFHLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ2hFLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQzs7O0FBR3ZCLFNBQVMsTUFBTSxDQUFDLEdBQUcsRUFBRTtBQUNuQixNQUFJLElBQUksR0FBRyxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUMsQ0FBQzs7QUFFekIsc0JBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFBRSxRQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0dBQUUsQ0FBQyxDQUFDOztBQUU5RCxzQkFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUFFLFFBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0dBQUUsQ0FBQyxDQUFDO0FBQ3JGLFNBQU8sSUFBSSxDQUFDO0NBQ2I7O3FCQUdjO0FBQ2IsU0FBTyxFQUFFLGlCQUFTLElBQUksRUFBRSxRQUFRLEVBQUM7QUFDL0IsUUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzVCLFFBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQzs7QUFFakIsUUFBRyxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7QUFDM0IsVUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxDQUFDO0tBQ3JCOztBQUVELE9BQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ2hCLE9BQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBQyxFQUFFLENBQUMsQ0FBQzs7QUFFbkMsd0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN2QyxhQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ2hDLENBQUMsQ0FBQzs7QUFFSCxhQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRTtBQUNuQyxjQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNwQztBQUNELGFBQVMsSUFBSSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFO0FBQzFDLGNBQVEsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0tBQ2pEOzs7Ozs7QUFNRCxRQUFJLFdBQVcsR0FBRztBQUNoQixTQUFHLEVBQUUsR0FBRztBQUNSLFVBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUs7QUFDeEIsVUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO0FBQ2YsY0FBUSxFQUFFLE1BQU07QUFDaEIsaUJBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztBQUM3QixXQUFLLEVBQUUsQUFBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxHQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVM7QUFDckUsYUFBTyxFQUFFOztBQUVQLGdCQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxLQUFLOztBQUVqQyx1QkFBZSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVM7T0FDdkQ7S0FDRixDQUFDOztBQUVGLHdCQUFFLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxVQUFVLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDekQsVUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7QUFDakMsbUJBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO09BQzdEO0tBQ0YsQ0FBQyxDQUFDOztBQUVILHdCQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0dBQ3RDO0NBQ0Y7Ozs7Ozs7OztxQkNwRWMsR0FBRyxDQUFDLENBQUMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiaW1wb3J0ICQgZnJvbSAnLi9kb2xsYXInO1xuXG5jb25zdCBYSFJfUFJPUEVSVElFUyA9IFsnc3RhdHVzJywgJ3N0YXR1c1RleHQnLCAncmVzcG9uc2VUZXh0J107XG5jb25zdCBYSFJfSEVBREVSUyA9IFsnQ29udGVudC1UeXBlJywgJ0VUYWcnXTtcbmNvbnN0IFJFUVVFU1RfSEVBREVSU19XSElURUxJU1QgPSBbJ0lmLU1hdGNoJywgJ0lmLU5vbmUtTWF0Y2gnXTtcbnZhciBjb250ZXh0UGF0aCA9IG51bGw7XG5cbi8vIHJlZHVjZSB0aGUgeGhyIG9iamVjdCB0byB0aGUganVzdCBiaXRzIHdlIGNhbi93YW50IHRvIGV4cG9zZSBvdmVyIHRoZSBicmlkZ2VcbmZ1bmN0aW9uIHRvSlNPTih4aHIpIHtcbiAgdmFyIGpzb24gPSB7aGVhZGVyczoge319O1xuICAvLyBvbmx5IGNvcHkga2V5IHByb3BlcnRpZXMgYW5kIGhlYWRlcnMgZm9yIHRyYW5zcG9ydCBhY3Jvc3MgdGhlIGJyaWRnZVxuICAkLmVhY2goWEhSX1BST1BFUlRJRVMsIGZ1bmN0aW9uIChpLCB2KSB7IGpzb25bdl0gPSB4aHJbdl07IH0pO1xuICAvLyBvbmx5IGNvcHkga2V5IHJlc3BvbnNlIGhlYWRlcnMgZm9yIHRyYW5zcG9ydCBhY3Jvc3MgdGhlIGJyaWRnZVxuICAkLmVhY2goWEhSX0hFQURFUlMsIGZ1bmN0aW9uIChpLCB2KSB7IGpzb24uaGVhZGVyc1t2XSA9IHhoci5nZXRSZXNwb25zZUhlYWRlcih2KTsgfSk7XG4gIHJldHVybiBqc29uO1xufVxuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcmVxdWVzdDogZnVuY3Rpb24oYXJncywgY2FsbGJhY2spe1xuICAgIHZhciB1cmwgPSBBSlMuY29udGV4dFBhdGgoKTtcbiAgICB2YXIgaGVhZGVycyA9IHt9O1xuXG4gICAgaWYodHlwZW9mIGFyZ3MgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGFyZ3MgPSB7IHVybDogYXJnc307XG4gICAgfVxuXG4gICAgdXJsICs9IGFyZ3MudXJsO1xuICAgIHVybCA9IHVybC5yZXBsYWNlKC9cXC9cXC5cXC5cXC8vaWcsJycpOyAvLyBzdHJpcCAvLi4vIGZyb20gdXJsc1xuXG4gICAgJC5lYWNoKGFyZ3MuaGVhZGVycyB8fCB7fSwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICAgICAgaGVhZGVyc1trLnRvTG93ZXJDYXNlKCldID0gdjtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGRvbmUoZGF0YSwgdGV4dFN0YXR1cywgeGhyKSB7XG4gICAgICBjYWxsYmFjayhmYWxzZSwgdG9KU09OKHhociksIGRhdGEpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmYWlsKHhociwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHtcbiAgICAgIGNhbGxiYWNrKGVycm9yVGhyb3duLCB0b0pTT04oeGhyKSwgZXJyb3JUaHJvd24pO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgc3lzdGVtIGFqYXggc2V0dGluZ3MuIFRoaXMgc3RvcHMgY29uZmx1ZW5jZSBtb2JpbGUgZnJvbSBpbmplY3RpbmcgY2FsbGJhY2tzIGFuZCB0aGVuIHRocm93aW5nIGV4Y2VwdGlvbnMuXG4gICAgLy8gJC5hamF4U2V0dGluZ3MgPSB7fTtcblxuICAgIC8vIGV4ZWN1dGUgdGhlIHJlcXVlc3Qgd2l0aCBvdXIgcmVzdHJpY3RlZCBzZXQgb2YgaW5wdXRzXG4gICAgdmFyIGFqYXhPcHRpb25zID0ge1xuICAgICAgdXJsOiB1cmwsXG4gICAgICB0eXBlOiBhcmdzLnR5cGUgfHwgJ0dFVCcsXG4gICAgICBkYXRhOiBhcmdzLmRhdGEsXG4gICAgICBkYXRhVHlwZTogJ3RleHQnLCAvLyBwcmV2ZW50IGpxdWVyeSBmcm9tIHBhcnNpbmcgdGhlIHJlc3BvbnNlIGJvZHlcbiAgICAgIGNvbnRlbnRUeXBlOiBhcmdzLmNvbnRlbnRUeXBlLFxuICAgICAgY2FjaGU6ICh0eXBlb2YgYXJncy5jYWNoZSAhPT0gJ3VuZGVmaW5lZCcpID8gISFhcmdzLmNhY2hlIDogdW5kZWZpbmVkLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAvLyAqLyogd2lsbCB1bmRvIHRoZSBlZmZlY3Qgb24gdGhlIGFjY2VwdCBoZWFkZXIgb2YgaGF2aW5nIHNldCBkYXRhVHlwZSB0byAndGV4dCdcbiAgICAgICAgJ0FjY2VwdCc6IGhlYWRlcnMuYWNjZXB0IHx8ICcqLyonLFxuICAgICAgICAvLyBzZW5kIHRoZSBjbGllbnQga2V5IGhlYWRlciB0byBmb3JjZSBzY29wZSBjaGVja3NcbiAgICAgICAgJ0FQLUNsaWVudC1LZXknOiBjYWxsYmFjay5fY29udGV4dC5leHRlbnNpb24uYWRkb25fa2V5XG4gICAgICB9XG4gICAgfTtcblxuICAgICQuZWFjaChSRVFVRVNUX0hFQURFUlNfV0hJVEVMSVNULCBmdW5jdGlvbiAoaW5kZXgsIGhlYWRlcikge1xuICAgICAgaWYgKGhlYWRlcnNbaGVhZGVyLnRvTG93ZXJDYXNlKCldKSB7XG4gICAgICAgIGFqYXhPcHRpb25zLmhlYWRlcnNbaGVhZGVyXSA9IGhlYWRlcnNbaGVhZGVyLnRvTG93ZXJDYXNlKCldO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgJC5hamF4KGFqYXhPcHRpb25zKS50aGVuKGRvbmUsIGZhaWwpO1xuICB9XG59OyIsImV4cG9ydCBkZWZhdWx0IEFKUy4kOyJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCIvVXNlcnMva2hhbmd1eWVuL3NyYy9hdGxhc3NpYW4tY29ubmVjdC1qcy1yZXF1ZXN0L3NyYy9ob3N0L2luZGV4LmpzIiwiL1VzZXJzL2toYW5ndXllbi9zcmMvYXRsYXNzaWFuLWNvbm5lY3QtanMtcmVxdWVzdC9zcmMvaG9zdC9kb2xsYXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7OztzQkNBYyxVQUFVOzs7O0FBRXhCLElBQU0sY0FBYyxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztBQUNoRSxJQUFNLFdBQVcsR0FBRyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3QyxJQUFNLHlCQUF5QixHQUFHLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ2hFLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQzs7O0FBR3ZCLFNBQVMsTUFBTSxDQUFDLEdBQUcsRUFBRTtBQUNuQixNQUFJLElBQUksR0FBRyxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUMsQ0FBQzs7QUFFekIsc0JBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFBRSxRQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0dBQUUsQ0FBQyxDQUFDOztBQUU5RCxzQkFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUFFLFFBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0dBQUUsQ0FBQyxDQUFDO0FBQ3JGLFNBQU8sSUFBSSxDQUFDO0NBQ2I7O0FBRUQsU0FBUyxzQkFBc0IsQ0FBRSxXQUFXLEVBQUU7QUFD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RUFBRSxDQUFDLEVBQUU7QUFDakMsbUJBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO09BQzdEO0tBQ0YsQ0FBQyxDQUFDOztBQUVILHdCQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0dBQ3RDO0NBQ0Y7Ozs7Ozs7OztxQkN6RmMsR0FBRyxDQUFDLENBQUMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiaW1wb3J0ICQgZnJvbSAnLi9kb2xsYXInO1xuXG5jb25zdCBYSFJfUFJPUEVSVElFUyA9IFsnc3RhdHVzJywgJ3N0YXR1c1RleHQnLCAncmVzcG9uc2VUZXh0J107XG5jb25zdCBYSFJfSEVBREVSUyA9IFsnQ29udGVudC1UeXBlJywgJ0VUYWcnXTtcbmNvbnN0IFJFUVVFU1RfSEVBREVSU19XSElURUxJU1QgPSBbJ0lmLU1hdGNoJywgJ0lmLU5vbmUtTWF0Y2gnXTtcbnZhciBjb250ZXh0UGF0aCA9IG51bGw7XG5cbi8vIHJlZHVjZSB0aGUgeGhyIG9iamVjdCB0byB0aGUganVzdCBiaXRzIHdlIGNhbi93YW50IHRvIGV4cG9zZSBvdmVyIHRoZSBicmlkZ2VcbmZ1bmN0aW9uIHRvSlNPTih4aHIpIHtcbiAgdmFyIGpzb24gPSB7aGVhZGVyczoge319O1xuICAvLyBvbmx5IGNvcHkga2V5IHByb3BlcnRpZXMgYW5kIGhlYWRlcnMgZm9yIHRyYW5zcG9ydCBhY3Jvc3MgdGhlIGJyaWRnZVxuICAkLmVhY2goWEhSX1BST1BFUlRJRVMsIGZ1bmN0aW9uIChpLCB2KSB7IGpzb25bdl0gPSB4aHJbdl07IH0pO1xuICAvLyBvbmx5IGNvcHkga2V5IHJlc3BvbnNlIGhlYWRlcnMgZm9yIHRyYW5zcG9ydCBhY3Jvc3MgdGhlIGJyaWRnZVxuICAkLmVhY2goWEhSX0hFQURFUlMsIGZ1bmN0aW9uIChpLCB2KSB7IGpzb24uaGVhZGVyc1t2XSA9IHhoci5nZXRSZXNwb25zZUhlYWRlcih2KTsgfSk7XG4gIHJldHVybiBqc29uO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVNdWx0aXBhcnRSZXF1ZXN0IChhamF4T3B0aW9ucykge1xuICBhamF4T3B0aW9ucy5jb250ZW50VHlwZSA9IGZhbHNlO1xuICBhamF4T3B0aW9ucy5wcm9jZXNzRGF0YSA9IGZhbHNlO1xuXG4gIGlmIChhamF4T3B0aW9ucy5kYXRhICYmIHR5cGVvZiBhamF4T3B0aW9ucy5kYXRhID09PSAnb2JqZWN0Jykge1xuICAgIHZhciBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIE9iamVjdC5rZXlzKGFqYXhPcHRpb25zLmRhdGEpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSwgYWpheE9wdGlvbnMuZGF0YVtrZXldKTtcbiAgICB9KTtcbiAgICBhamF4T3B0aW9ucy5kYXRhID0gZm9ybURhdGE7XG4gICAgYWpheE9wdGlvbnMuaGVhZGVyc1snWC1BdGxhc3NpYW4tVG9rZW4nXSA9ICduby1jaGVjayc7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGb3IgYSBNdWx0aXBhcnQgcmVxdWVzdCwgZGF0YSBtdXN0IHRvIGJlIGFuIE9iamVjdCcpO1xuICB9XG4gIHJldHVybiBhamF4T3B0aW9ucztcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICByZXF1ZXN0OiBmdW5jdGlvbihhcmdzLCBjYWxsYmFjayl7XG4gICAgdmFyIHVybCA9IEFKUy5jb250ZXh0UGF0aCgpO1xuICAgIHZhciBoZWFkZXJzID0ge307XG5cbiAgICBpZih0eXBlb2YgYXJncyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGFyZ3MgPSB7IHVybDogYXJnc307XG4gICAgfVxuXG4gICAgdXJsICs9IGFyZ3MudXJsO1xuICAgIHVybCA9IHVybC5yZXBsYWNlKC9cXC9cXC5cXC5cXC8vaWcsJycpOyAvLyBzdHJpcCAvLi4vIGZyb20gdXJsc1xuXG4gICAgJC5lYWNoKGFyZ3MuaGVhZGVycyB8fCB7fSwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICAgICAgaGVhZGVyc1trLnRvTG93ZXJDYXNlKCldID0gdjtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGRvbmUoZGF0YSwgdGV4dFN0YXR1cywgeGhyKSB7XG4gICAgICBjYWxsYmFjayhmYWxzZSwgdG9KU09OKHhociksIGRhdGEpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmYWlsKHhociwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHtcbiAgICAgIGNhbGxiYWNrKGVycm9yVGhyb3duLCB0b0pTT04oeGhyKSwgZXJyb3JUaHJvd24pO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgc3lzdGVtIGFqYXggc2V0dGluZ3MuIFRoaXMgc3RvcHMgY29uZmx1ZW5jZSBtb2JpbGUgZnJvbSBpbmplY3RpbmcgY2FsbGJhY2tzIGFuZCB0aGVuIHRocm93aW5nIGV4Y2VwdGlvbnMuXG4gICAgLy8gJC5hamF4U2V0dGluZ3MgPSB7fTtcblxuICAgIC8vIGV4ZWN1dGUgdGhlIHJlcXVlc3Qgd2l0aCBvdXIgcmVzdHJpY3RlZCBzZXQgb2YgaW5wdXRzXG4gICAgdmFyIGFqYXhPcHRpb25zID0ge1xuICAgICAgdXJsOiB1cmwsXG4gICAgICB0eXBlOiBhcmdzLnR5cGUgfHwgJ0dFVCcsXG4gICAgICBkYXRhOiBhcmdzLmRhdGEsXG4gICAgICBkYXRhVHlwZTogJ3RleHQnLCAvLyBwcmV2ZW50IGpxdWVyeSBmcm9tIHBhcnNpbmcgdGhlIHJlc3BvbnNlIGJvZHlcbiAgICAgIGNvbnRlbnRUeXBlOiBhcmdzLmNvbnRlbnRUeXBlLFxuICAgICAgY2FjaGU6ICh0eXBlb2YgYXJncy5jYWNoZSAhPT0gJ3VuZGVmaW5lZCcpID8gISFhcmdzLmNhY2hlIDogdW5kZWZpbmVkLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAvLyAqLyogd2lsbCB1bmRvIHRoZSBlZmZlY3Qgb24gdGhlIGFjY2VwdCBoZWFkZXIgb2YgaGF2aW5nIHNldCBkYXRhVHlwZSB0byAndGV4dCdcbiAgICAgICAgJ0FjY2VwdCc6IGhlYWRlcnMuYWNjZXB0IHx8ICcqLyonLFxuICAgICAgICAvLyBzZW5kIHRoZSBjbGllbnQga2V5IGhlYWRlciB0byBmb3JjZSBzY29wZSBjaGVja3NcbiAgICAgICAgJ0FQLUNsaWVudC1LZXknOiBjYWxsYmFjay5fY29udGV4dC5leHRlbnNpb24uYWRkb25fa2V5XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIGlmIGl0J3MgYSBtdWx0aXBhcnQgcmVxdWVzdCwgdGhlbiB0cmFuc2Zvcm0gZGF0YSBpbnRvIGEgRm9ybURhdGEgb2JqZWN0XG4gICAgaWYgKGFqYXhPcHRpb25zLmNvbnRlbnRUeXBlID09PSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpIHtcbiAgICAgIGFqYXhPcHRpb25zID0gaGFuZGxlTXVsdGlwYXJ0UmVxdWVzdChhamF4T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgJC5lYWNoKFJFUVVFU1RfSEVBREVSU19XSElURUxJU1QsIGZ1bmN0aW9uIChpbmRleCwgaGVhZGVyKSB7XG4gICAgICBpZiAoaGVhZGVyc1toZWFkZXIudG9Mb3dlckNhc2UoKV0pIHtcbiAgICAgICAgYWpheE9wdGlvbnMuaGVhZGVyc1toZWFkZXJdID0gaGVhZGVyc1toZWFkZXIudG9Mb3dlckNhc2UoKV07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAkLmFqYXgoYWpheE9wdGlvbnMpLnRoZW4oZG9uZSwgZmFpbCk7XG4gIH1cbn07XG4iLCJleHBvcnQgZGVmYXVsdCBBSlMuJDsiXX0= |
@@ -18,3 +18,3 @@ // {}, function => new | ||
l = o.length; | ||
if (l != null && typeof o !== "function") { | ||
if (l != null && typeof o !== 'function') { | ||
k = 0; | ||
@@ -21,0 +21,0 @@ while (k < l) { |
{ | ||
"name": "atlassian-connect-js-request", | ||
"version": "0.1.1", | ||
"version": "0.1.2", | ||
"description": "Request module for Atlassian Connect", | ||
@@ -5,0 +5,0 @@ "devDependencies": { |
@@ -0,1 +1,18 @@ | ||
/** | ||
* The Request Javascript module provides a mechanism for an add-on rendered in an iframe to make an XMLHttpRequest to the host product without requiring CORS. | ||
* | ||
* In contrast to REST calls made from the add-on server to the product directly, any requests made in the browser are evaluated in the context of the currently logged in user. The requested resource is still evaluated against the add-ons granted scopes. | ||
* | ||
* @name request | ||
* @module | ||
* @example | ||
* AP.require('request', function(request){ | ||
* request('../assets/js/rest-example.json', { | ||
* success: function(responseText){ | ||
* alert(responseText); | ||
* } | ||
* }); | ||
* }); | ||
*/ | ||
import $ from './dollar'; | ||
@@ -18,4 +35,67 @@ | ||
function handleMultipartRequest (ajaxOptions) { | ||
ajaxOptions.contentType = false; | ||
ajaxOptions.processData = false; | ||
if (ajaxOptions.data && typeof ajaxOptions.data === 'object') { | ||
var formData = new FormData(); | ||
Object.keys(ajaxOptions.data).forEach(function (key) { | ||
formData.append(key, ajaxOptions.data[key]); | ||
}); | ||
ajaxOptions.data = formData; | ||
ajaxOptions.headers['X-Atlassian-Token'] = 'no-check'; | ||
} else { | ||
throw new Error('For a Multipart request, data must to be an Object'); | ||
} | ||
return ajaxOptions; | ||
} | ||
export default { | ||
/** | ||
* Execute an XMLHttpRequest in the context of the host application. The format of the response (dataType) will always be set to "text" - even if specified. | ||
* | ||
* @param {String} url Either the URI to request or an options object (as below) containing at least a 'url' property;<br /> | ||
* This value should be relative to the context path of the host application. | ||
* @param {Object} options The options of the request. | ||
* @param {String} options.url The url to request from the host application, relative to the host's context path | ||
* @param {String} [options.type=GET] The HTTP method name. | ||
* @param {Boolean} [options.cache=true] If the request should be cached. | ||
* @param {String|Object} [options.data] The body of the request; required if type is 'POST' or 'PUT' | ||
* @param {String} [options.contentType] The content-type string value of the entity body, above; required when data is supplied. | ||
* @param {Object} [options.headers] An object containing headers to set; supported headers are: 'Accept', 'If-Match' and 'If-None-Match'. | ||
* @param {Function} [options.success] A callback function executed on a 200 success status code. | ||
* @param {Function} [options.error] A callback function executed when a HTTP status error code is returned. | ||
* @param {Boolean} [options.experimental=false] If this is set to true, the developer acknowledges that the API endpoint which is being called may be in beta state, and thus may also have a shorter deprecation cycle than stable APIs. | ||
* @example | ||
* // A simple POST request which logs response in the console. | ||
* AP.require('request', function(request){ | ||
* request({ | ||
* url: '../assets/js/rest-example.json', | ||
* type: 'POST', | ||
* data: {name: 'some text', description: 'test'} | ||
* success: function(responseText){ | ||
* console.log(responseText); | ||
* }, | ||
* error: function(xhr, statusText, errorThrown){ | ||
* console.log(arguments); | ||
* } | ||
* }); | ||
* }); | ||
* @example | ||
* // Upload an attachment to a Confluence entity. | ||
* var fileToUpload = document.getElementById("fileInput").files[0]; | ||
* | ||
* AP.require('request', function(request){ | ||
* request({ | ||
* url: '/rest/api/content/123456/child/attachment', | ||
* type: 'POST', | ||
* contentType: 'multipart/form-data', | ||
* data: {comment: 'example comment', file: fileToUpload}, | ||
* success: function(responseText){ | ||
* alert(responseText); | ||
* } | ||
* }); | ||
* }); | ||
*/ | ||
request: function(args, callback){ | ||
@@ -25,3 +105,3 @@ var url = AJS.contextPath(); | ||
if(typeof args === "string") { | ||
if(typeof args === 'string') { | ||
args = { url: args}; | ||
@@ -34,3 +114,3 @@ } | ||
$.each(args.headers || {}, function (k, v) { | ||
headers[k.toLowerCase()] = v; | ||
headers[k.toLowerCase()] = v; | ||
}); | ||
@@ -64,2 +144,7 @@ | ||
// if it's a multipart request, then transform data into a FormData object | ||
if (ajaxOptions.contentType === 'multipart/form-data') { | ||
ajaxOptions = handleMultipartRequest(ajaxOptions); | ||
} | ||
$.each(REQUEST_HEADERS_WHITELIST, function (index, header) { | ||
@@ -73,2 +158,2 @@ if (headers[header.toLowerCase()]) { | ||
} | ||
}; | ||
}; |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
27928
531
1