Skip to content

Commit 5f8c77c

Browse files
authored
Merge pull request #9 from imagekit-developer/feature/timeout
authentication endpoint timeout and URLSearchParams bug in react native
2 parents d8791d9 + 6f1972e commit 5f8c77c

File tree

5 files changed

+18
-8
lines changed

5 files changed

+18
-8
lines changed

dist/imagekit-min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/imagekit.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,10 @@ module.exports.buildURL = function(opts) {
190190

191191
var queryParameters = new URLSearchParams(parsedURL.query || "");
192192
if(opts.sdkVersion && opts.sdkVersion.trim() != "") {
193-
queryParameters.set("ik-sdk-version", opts.sdkVersion.trim());
193+
queryParameters.append("ik-sdk-version", opts.sdkVersion.trim());
194194
}
195195
for(var i in opts.queryParameters) {
196-
queryParameters.set(i, opts.queryParameters[i]);
196+
queryParameters.append(i, opts.queryParameters[i]);
197197
}
198198

199199
//Initial URL Construction Object
@@ -213,7 +213,7 @@ module.exports.buildURL = function(opts) {
213213
//force that if src parameter is being used for URL construction then the transformation
214214
//string should be added only as a query parameter
215215
if(transformationUtils.addAsQueryParameter(opts) || isSrcParameterUsedForURL) {
216-
queryParameters.set(TRANSFORMATION_PARAMETER, transformationString);
216+
queryParameters.append(TRANSFORMATION_PARAMETER, transformationString);
217217
} else {
218218
urlObject.pathname = path.join(
219219
[TRANSFORMATION_PARAMETER, transformationString].join(transformationUtils.getChainTransformDelimiter()),
@@ -3709,7 +3709,12 @@ function request (formData, defaultOptions, callback) {
37093709

37103710
function _generateSignatureToken(defaultOptions, callback) {
37113711
var xhr = new XMLHttpRequest();
3712+
xhr.timeout = 60000;
37123713
xhr.open('GET', defaultOptions.authenticationEndpoint);
3714+
xhr.ontimeout = function (e) {
3715+
if(typeof callback != "function") return;
3716+
callback("The authenticationEndpoint you provided timed out in 60 seconds");
3717+
};
37133718
xhr.onload = function() {
37143719
if (xhr.status === 200) {
37153720
try {

libs/url/builder.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ module.exports.buildURL = function(opts) {
3131

3232
var queryParameters = new URLSearchParams(parsedURL.query || "");
3333
if(opts.sdkVersion && opts.sdkVersion.trim() != "") {
34-
queryParameters.set("ik-sdk-version", opts.sdkVersion.trim());
34+
queryParameters.append("ik-sdk-version", opts.sdkVersion.trim());
3535
}
3636
for(var i in opts.queryParameters) {
37-
queryParameters.set(i, opts.queryParameters[i]);
37+
queryParameters.append(i, opts.queryParameters[i]);
3838
}
3939

4040
//Initial URL Construction Object
@@ -54,7 +54,7 @@ module.exports.buildURL = function(opts) {
5454
//force that if src parameter is being used for URL construction then the transformation
5555
//string should be added only as a query parameter
5656
if(transformationUtils.addAsQueryParameter(opts) || isSrcParameterUsedForURL) {
57-
queryParameters.set(TRANSFORMATION_PARAMETER, transformationString);
57+
queryParameters.append(TRANSFORMATION_PARAMETER, transformationString);
5858
} else {
5959
urlObject.pathname = path.join(
6060
[TRANSFORMATION_PARAMETER, transformationString].join(transformationUtils.getChainTransformDelimiter()),

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "imagekit-javascript",
3-
"version": "1.2.0",
3+
"version": "1.2.1",
44
"description": "Javascript SDK for using ImageKit.io in the browser",
55
"main": "dist/imagekit-min.js",
66
"dependencies": {

utils/request.js

+5
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,12 @@ function request (formData, defaultOptions, callback) {
2525

2626
function _generateSignatureToken(defaultOptions, callback) {
2727
var xhr = new XMLHttpRequest();
28+
xhr.timeout = 60000;
2829
xhr.open('GET', defaultOptions.authenticationEndpoint);
30+
xhr.ontimeout = function (e) {
31+
if(typeof callback != "function") return;
32+
callback("The authenticationEndpoint you provided timed out in 60 seconds");
33+
};
2934
xhr.onload = function() {
3035
if (xhr.status === 200) {
3136
try {

0 commit comments

Comments
 (0)