diff --git a/index.js b/index.js index 47993ac..9ee9889 100644 --- a/index.js +++ b/index.js @@ -42,7 +42,7 @@ function createXHR(options, callback) { return body } - + var failureResponse = { body: undefined, headers: {}, @@ -51,7 +51,7 @@ function createXHR(options, callback) { url: uri, rawRequest: xhr } - + function errorFunc(evt) { clearTimeout(timeoutTimer) if(!(evt instanceof Error)){ @@ -74,7 +74,7 @@ function createXHR(options, callback) { } var response = failureResponse var err = null - + if (status !== 0){ response = { body: getBody(), @@ -91,9 +91,9 @@ function createXHR(options, callback) { err = new Error("Internal XMLHttpRequest Error") } callback(err, response, response.body) - + } - + if (typeof options === "string") { options = { uri: options } } @@ -128,7 +128,7 @@ function createXHR(options, callback) { isJson = true headers["accept"] || headers["Accept"] || (headers["Accept"] = "application/json") //Don't override existing accept header declared by user if (method !== "GET" && method !== "HEAD") { - headers["Content-Type"] = "application/json" + headers["content-type"] || headers["Content-Type"] || (headers["Content-Type"] = "application/json") //Don't override existing accept header declared by user body = JSON.stringify(options.json) } } @@ -170,8 +170,8 @@ function createXHR(options, callback) { if ("responseType" in options) { xhr.responseType = options.responseType } - - if ("beforeSend" in options && + + if ("beforeSend" in options && typeof options.beforeSend === "function" ) { options.beforeSend(xhr)