diff --git a/README.md b/README.md index 9ad3556f..980c4e40 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,9 @@ $ bower install vue-resource ``` ### CDN -Available on [jsdelivr](https://cdn.jsdelivr.net/vue.resource/1.0.2/vue-resource.min.js), [cdnjs](https://cdnjs.com/libraries/vue-resource) or [npmcdn](https://npmcdn.com/vue-resource@1.0.2/dist/vue-resource.min.js). +Available on [jsdelivr](https://cdn.jsdelivr.net/vue.resource/1.0.3/vue-resource.min.js), [cdnjs](https://cdnjs.com/libraries/vue-resource) or [unpkg](https://unpkg.com/vue-resource@1.0.3/dist/vue-resource.min.js). ```html - + ``` ## Example diff --git a/bower.json b/bower.json index 064069ea..a30a0bd8 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "vue-resource", "main": "dist/vue-resource.js", - "version": "1.0.2", + "version": "1.0.3", "description": "The HTTP client for Vue.js", "homepage": "https://github.com/vuejs/vue-resource", "license": "MIT", diff --git a/dist/vue-resource.common.js b/dist/vue-resource.common.js index 9d9a256e..b792ef01 100644 --- a/dist/vue-resource.common.js +++ b/dist/vue-resource.common.js @@ -1,5 +1,5 @@ /*! - * vue-resource v1.0.2 + * vue-resource v1.0.3 * https://github.com/vuejs/vue-resource * Released under the MIT License. */ @@ -770,25 +770,30 @@ function xdrClient (request) { return new PromiseObj(function (resolve) { var xdr = new XDomainRequest(), - handler = function (event) { + handler = function (_ref) { + var type = _ref.type; - var response = request.respondWith(xdr.responseText, { - status: xdr.status, - statusText: xdr.statusText - }); - resolve(response); + var status = 0; + + if (type === 'load') { + status = 200; + } else if (type === 'error') { + status = 500; + } + + resolve(request.respondWith(xdr.responseText, { status: status })); }; request.abort = function () { return xdr.abort(); }; - xdr.open(request.method, request.getUrl(), true); + xdr.open(request.method, request.getUrl()); xdr.timeout = 0; xdr.onload = handler; xdr.onerror = handler; - xdr.ontimeout = function () {}; + xdr.ontimeout = handler; xdr.onprogress = function () {}; xdr.send(request.getBody()); }); @@ -889,14 +894,16 @@ function jsonpClient (request) { handler, script; - handler = function (event) { + handler = function (_ref) { + var type = _ref.type; + var status = 0; - if (event.type === 'load' && body !== null) { + if (type === 'load' && body !== null) { status = 200; - } else if (event.type === 'error') { - status = 404; + } else if (type === 'error') { + status = 500; } resolve(request.respondWith(body, { status: status })); diff --git a/dist/vue-resource.es2015.js b/dist/vue-resource.es2015.js index 72ae3ca6..b445e4dd 100644 --- a/dist/vue-resource.es2015.js +++ b/dist/vue-resource.es2015.js @@ -1,5 +1,5 @@ /*! - * vue-resource v1.0.2 + * vue-resource v1.0.3 * https://github.com/vuejs/vue-resource * Released under the MIT License. */ @@ -768,25 +768,30 @@ function xdrClient (request) { return new PromiseObj(function (resolve) { var xdr = new XDomainRequest(), - handler = function (event) { + handler = function (_ref) { + var type = _ref.type; - var response = request.respondWith(xdr.responseText, { - status: xdr.status, - statusText: xdr.statusText - }); - resolve(response); + var status = 0; + + if (type === 'load') { + status = 200; + } else if (type === 'error') { + status = 500; + } + + resolve(request.respondWith(xdr.responseText, { status: status })); }; request.abort = function () { return xdr.abort(); }; - xdr.open(request.method, request.getUrl(), true); + xdr.open(request.method, request.getUrl()); xdr.timeout = 0; xdr.onload = handler; xdr.onerror = handler; - xdr.ontimeout = function () {}; + xdr.ontimeout = handler; xdr.onprogress = function () {}; xdr.send(request.getBody()); }); @@ -887,14 +892,16 @@ function jsonpClient (request) { handler, script; - handler = function (event) { + handler = function (_ref) { + var type = _ref.type; + var status = 0; - if (event.type === 'load' && body !== null) { + if (type === 'load' && body !== null) { status = 200; - } else if (event.type === 'error') { - status = 404; + } else if (type === 'error') { + status = 500; } resolve(request.respondWith(body, { status: status })); diff --git a/dist/vue-resource.js b/dist/vue-resource.js index 3d6072d7..2937451d 100644 --- a/dist/vue-resource.js +++ b/dist/vue-resource.js @@ -1,5 +1,5 @@ /*! - * vue-resource v1.0.2 + * vue-resource v1.0.3 * https://github.com/vuejs/vue-resource * Released under the MIT License. */ @@ -774,25 +774,30 @@ function xdrClient (request) { return new PromiseObj(function (resolve) { var xdr = new XDomainRequest(), - handler = function (event) { + handler = function (_ref) { + var type = _ref.type; - var response = request.respondWith(xdr.responseText, { - status: xdr.status, - statusText: xdr.statusText - }); - resolve(response); + var status = 0; + + if (type === 'load') { + status = 200; + } else if (type === 'error') { + status = 500; + } + + resolve(request.respondWith(xdr.responseText, { status: status })); }; request.abort = function () { return xdr.abort(); }; - xdr.open(request.method, request.getUrl(), true); + xdr.open(request.method, request.getUrl()); xdr.timeout = 0; xdr.onload = handler; xdr.onerror = handler; - xdr.ontimeout = function () {}; + xdr.ontimeout = handler; xdr.onprogress = function () {}; xdr.send(request.getBody()); }); @@ -893,14 +898,16 @@ function jsonpClient (request) { handler, script; - handler = function (event) { + handler = function (_ref) { + var type = _ref.type; + var status = 0; - if (event.type === 'load' && body !== null) { + if (type === 'load' && body !== null) { status = 200; - } else if (event.type === 'error') { - status = 404; + } else if (type === 'error') { + status = 500; } resolve(request.respondWith(body, { status: status })); diff --git a/dist/vue-resource.min.js b/dist/vue-resource.min.js index 33696e57..5a6f05f7 100644 --- a/dist/vue-resource.min.js +++ b/dist/vue-resource.min.js @@ -1,7 +1,7 @@ /*! - * vue-resource v1.0.2 + * vue-resource v1.0.3 * https://github.com/vuejs/vue-resource * Released under the MIT License. */ -!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.VueResource=n()}(this,function(){"use strict";function t(t){this.state=it,this.value=void 0,this.deferred=[];var n=this;try{t(function(t){n.resolve(t)},function(t){n.reject(t)})}catch(t){n.reject(t)}}function n(t,n){t instanceof Promise?this.promise=t:this.promise=new Promise(t.bind(n)),this.context=n}function e(t){at=t.util,ct=t.config.debug||!t.config.silent}function o(t){"undefined"!=typeof console&&ct&&console.warn("[VueResource warn]: "+t)}function r(t){"undefined"!=typeof console&&console.error(t)}function i(t,n){return at.nextTick(t,n)}function u(t){return t.replace(/^\s*|\s*$/g,"")}function s(t){return t?t.toLowerCase():""}function c(t){return t?t.toUpperCase():""}function a(t){return"string"==typeof t}function f(t){return t===!0||t===!1}function h(t){return"function"==typeof t}function p(t){return null!==t&&"object"==typeof t}function l(t){return p(t)&&Object.getPrototypeOf(t)==Object.prototype}function d(t){return"undefined"!=typeof Blob&&t instanceof Blob}function m(t){return"undefined"!=typeof FormData&&t instanceof FormData}function y(t,e,o){var r=n.resolve(t);return arguments.length<2?r:r.then(e,o)}function v(t,n,e){return e=e||{},h(e)&&(e=e.call(n)),g(t.bind({$vm:n,$options:e}),t,{$options:e})}function b(t,n){var e,o;if(t&&"number"==typeof t.length)for(e=0;e=200&&i<300,this.status=i||0,this.statusText=u||"",this.headers=new bt(r),this.body=n,a(n)?this.bodyText=n:d(n)&&(this.bodyBlob=n,Y(n)&&(this.bodyText=Q(n)))}return t.prototype.blob=function(){return y(this.bodyBlob)},t.prototype.text=function(){return y(this.bodyText)},t.prototype.json=function(){return y(this.text(),function(t){return JSON.parse(t)})},t}(),wt=function(){function t(n){vt(this,t),this.body=null,this.params={},pt(this,n,{method:c(n.method||"GET")}),this.headers instanceof bt||(this.headers=new bt(this.headers))}return t.prototype.getUrl=function(){return k(this)},t.prototype.getBody=function(){return this.body},t.prototype.respondWith=function(t,n){return new gt(t,pt(n||{},{url:this.getUrl()}))},t}(),Tt={"X-Requested-With":"XMLHttpRequest"},xt={Accept:"application/json, text/plain, */*"},jt={"Content-Type":"application/json;charset=utf-8"};return Z.options={},Z.headers={put:jt,post:jt,patch:jt,delete:jt,custom:Tt,common:xt},Z.interceptors=[M,W,X,B,D,F,N],["get","delete","head","jsonp"].forEach(function(t){Z[t]=function(n,e){return this(pt(e||{},{url:n,method:t}))}}),["post","put","patch"].forEach(function(t){Z[t]=function(n,e,o){return this(pt(o||{},{url:n,method:t,body:e}))}}),tt.actions={get:{method:"GET"},save:{method:"POST"},query:{method:"GET"},update:{method:"PUT"},remove:{method:"DELETE"},delete:{method:"DELETE"}},"undefined"!=typeof window&&window.Vue&&window.Vue.use(et),et}); \ No newline at end of file +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.VueResource=n()}(this,function(){"use strict";function t(t){this.state=it,this.value=void 0,this.deferred=[];var n=this;try{t(function(t){n.resolve(t)},function(t){n.reject(t)})}catch(t){n.reject(t)}}function n(t,n){t instanceof Promise?this.promise=t:this.promise=new Promise(t.bind(n)),this.context=n}function e(t){at=t.util,ct=t.config.debug||!t.config.silent}function o(t){"undefined"!=typeof console&&ct&&console.warn("[VueResource warn]: "+t)}function r(t){"undefined"!=typeof console&&console.error(t)}function i(t,n){return at.nextTick(t,n)}function u(t){return t.replace(/^\s*|\s*$/g,"")}function s(t){return t?t.toLowerCase():""}function c(t){return t?t.toUpperCase():""}function a(t){return"string"==typeof t}function f(t){return t===!0||t===!1}function h(t){return"function"==typeof t}function p(t){return null!==t&&"object"==typeof t}function l(t){return p(t)&&Object.getPrototypeOf(t)==Object.prototype}function d(t){return"undefined"!=typeof Blob&&t instanceof Blob}function m(t){return"undefined"!=typeof FormData&&t instanceof FormData}function y(t,e,o){var r=n.resolve(t);return arguments.length<2?r:r.then(e,o)}function v(t,n,e){return e=e||{},h(e)&&(e=e.call(n)),g(t.bind({$vm:n,$options:e}),t,{$options:e})}function b(t,n){var e,o;if(t&&"number"==typeof t.length)for(e=0;e=200&&i<300,this.status=i||0,this.statusText=u||"",this.headers=new bt(r),this.body=n,a(n)?this.bodyText=n:d(n)&&(this.bodyBlob=n,Y(n)&&(this.bodyText=Q(n)))}return t.prototype.blob=function(){return y(this.bodyBlob)},t.prototype.text=function(){return y(this.bodyText)},t.prototype.json=function(){return y(this.text(),function(t){return JSON.parse(t)})},t}(),wt=function(){function t(n){vt(this,t),this.body=null,this.params={},pt(this,n,{method:c(n.method||"GET")}),this.headers instanceof bt||(this.headers=new bt(this.headers))}return t.prototype.getUrl=function(){return k(this)},t.prototype.getBody=function(){return this.body},t.prototype.respondWith=function(t,n){return new gt(t,pt(n||{},{url:this.getUrl()}))},t}(),Tt={"X-Requested-With":"XMLHttpRequest"},xt={Accept:"application/json, text/plain, */*"},jt={"Content-Type":"application/json;charset=utf-8"};return Z.options={},Z.headers={put:jt,post:jt,patch:jt,delete:jt,custom:Tt,common:xt},Z.interceptors=[M,W,X,B,D,F,N],["get","delete","head","jsonp"].forEach(function(t){Z[t]=function(n,e){return this(pt(e||{},{url:n,method:t}))}}),["post","put","patch"].forEach(function(t){Z[t]=function(n,e,o){return this(pt(o||{},{url:n,method:t,body:e}))}}),tt.actions={get:{method:"GET"},save:{method:"POST"},query:{method:"GET"},update:{method:"PUT"},remove:{method:"DELETE"},delete:{method:"DELETE"}},"undefined"!=typeof window&&window.Vue&&window.Vue.use(et),et}); \ No newline at end of file diff --git a/package.json b/package.json index 232e2915..e8e37445 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-resource", - "version": "1.0.2", + "version": "1.0.3", "main": "dist/vue-resource.common.js", "jsnext:main": "dist/vue-resource.es2015.js", "description": "The HTTP client for Vue.js", diff --git a/src/http/client/jsonp.js b/src/http/client/jsonp.js index 4f6be467..87dba2c1 100644 --- a/src/http/client/jsonp.js +++ b/src/http/client/jsonp.js @@ -9,14 +9,14 @@ export default function (request) { var name = request.jsonp || 'callback', callback = '_jsonp' + Math.random().toString(36).substr(2), body = null, handler, script; - handler = (event) => { + handler = ({type}) => { var status = 0; - if (event.type === 'load' && body !== null) { + if (type === 'load' && body !== null) { status = 200; - } else if (event.type === 'error') { - status = 404; + } else if (type === 'error') { + status = 500; } resolve(request.respondWith(body, {status})); diff --git a/src/http/client/xdr.js b/src/http/client/xdr.js index f67912e2..6d35339e 100644 --- a/src/http/client/xdr.js +++ b/src/http/client/xdr.js @@ -7,25 +7,26 @@ import Promise from '../../promise'; export default function (request) { return new Promise((resolve) => { - var xdr = new XDomainRequest(), handler = (event) => { + var xdr = new XDomainRequest(), handler = ({type}) => { - var response = request.respondWith( - xdr.responseText, { - status: xdr.status, - statusText: xdr.statusText - } - ); + var status = 0; - resolve(response); + if (type === 'load') { + status = 200; + } else if (type === 'error') { + status = 500; + } + + resolve(request.respondWith(xdr.responseText, {status})); }; request.abort = () => xdr.abort(); - xdr.open(request.method, request.getUrl(), true); + xdr.open(request.method, request.getUrl()); xdr.timeout = 0; xdr.onload = handler; xdr.onerror = handler; - xdr.ontimeout = () => {}; + xdr.ontimeout = handler; xdr.onprogress = () => {}; xdr.send(request.getBody()); });