Skip to content

Commit

Permalink
Stable Version 0.3.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
jmdobry committed Sep 22, 2014
1 parent 745900a commit f3129af
Show file tree
Hide file tree
Showing 14 changed files with 131 additions and 206 deletions.
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
##### 0.2.0 - 2 September 2014
##### 0.3.0 - 21 September 2014

###### Backwards compatible API changes
- Small re-organization.

##### 0.2.0 - 21 September 2014

###### Backwards compatible API changes
- Added deserialize and serialize.
Expand Down
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "js-data-http",
"description": "http adapter for js-data.",
"version": "0.2.0",
"version": "0.3.0",
"homepage": "http://www.js-data.io/js-data-http",
"repository": {
"type": "git",
Expand Down
99 changes: 51 additions & 48 deletions dist/js-data-http.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @author Jason Dobry <jason.dobry@gmail.com>
* @file js-data-http.js
* @version 0.2.0 - Homepage <http://www.js-data.iojs-data-http/>
* @version 0.3.0 - Homepage <http://www.js-data.iojs-data-http/>
* @copyright (c) 2014 Jason Dobry
* @license MIT <https://github.com/js-data/js-data-http/blob/master/LICENSE>
*
Expand Down Expand Up @@ -1330,152 +1330,155 @@ function DSHttpAdapter(options) {

var dsHttpAdapterPrototype = DSHttpAdapter.prototype;

dsHttpAdapterPrototype.HTTP = function (config, resourceConfig) {
dsHttpAdapterPrototype.HTTP = function (config) {
var _this = this;
var start = new Date().getTime();
var deserialize;
if (config.deserialize) {
deserialize = config.deserialize;
delete config.deserialize;
} else {
deserialize = _this.defaults.deserialize;
}
resourceConfig = resourceConfig || {};
config = deepMixIn(config, this.defaults.httpConfig);
return http(config).then(function (data) {
if (_this.defaults.log) {
var args = Array.prototype.slice.call(arguments);
args.unshift(data.config.method + ' request: ' + data.config.url + ' Time taken: ' + (new Date().getTime() - start) + 'ms');
_this.defaults.log.apply(_this.defaults.log, args);
}
return deserialize(resourceConfig.name, data);
return data;
});
};

dsHttpAdapterPrototype.GET = function (url, config, resourceConfig) {
dsHttpAdapterPrototype.GET = function (url, config) {
config = config || {};
if (!('method' in config)) {
config.method = 'get';
}
return this.HTTP(deepMixIn(config, {
url: url
}), resourceConfig);
}));
};

dsHttpAdapterPrototype.POST = function (url, attrs, config, resourceConfig) {
dsHttpAdapterPrototype.POST = function (url, attrs, config) {
config = config || {};
if (!('method' in config)) {
config.method = 'post';
}
return this.HTTP(deepMixIn(config, {
url: url,
data: attrs
}), resourceConfig);
}));
};

dsHttpAdapterPrototype.PUT = function (url, attrs, config, resourceConfig) {
dsHttpAdapterPrototype.PUT = function (url, attrs, config) {
config = config || {};
if (!('method' in config)) {
config.method = 'put';
}
return this.HTTP(deepMixIn(config, {
url: url,
data: attrs || {}
}), resourceConfig);
}));
};

dsHttpAdapterPrototype.DEL = function (url, config, resourceConfig) {
dsHttpAdapterPrototype.DEL = function (url, config) {
config = config || {};
if (!('method' in config)) {
config.method = 'delete';
}
return this.HTTP(deepMixIn(config, {
url: url
}), resourceConfig);
}));
};

dsHttpAdapterPrototype.find = function (resourceConfig, id, options) {
var _this = this;
options = options || {};
return this.GET(
return _this.GET(
makePath(options.baseUrl || resourceConfig.baseUrl, resourceConfig.getEndpoint(id, options), id),
options,
resourceConfig
);
options
).then(function (data) {
return (options.deserialize ? options.deserialize : _this.defaults.deserialize)(resourceConfig.name, data);
});
};

dsHttpAdapterPrototype.findAll = function (resourceConfig, params, options) {
var _this = this;
options = options || {};
options.params = options.params || {};
if (params) {
params = this.defaults.queryTransform(resourceConfig.name, params);
params = _this.defaults.queryTransform(resourceConfig.name, params);
deepMixIn(options.params, params);
}
return this.GET(
return _this.GET(
makePath(options.baseUrl || resourceConfig.baseUrl, resourceConfig.getEndpoint(null, options)),
options,
resourceConfig
);
options
).then(function (data) {
return (options.deserialize ? options.deserialize : _this.defaults.deserialize)(resourceConfig.name, data);
});
};

dsHttpAdapterPrototype.create = function (resourceConfig, attrs, options) {
var _this = this;
options = options || {};
return this.POST(
return _this.POST(
makePath(options.baseUrl || resourceConfig.baseUrl, resourceConfig.getEndpoint(attrs, options)),
options.serialize ? options.serialize(resourceConfig.name, attrs) : _this.defaults.serialize(resourceConfig.name, attrs),
options,
resourceConfig
);
options
).then(function (data) {
return (options.deserialize ? options.deserialize : _this.defaults.deserialize)(resourceConfig.name, data);
});
};

dsHttpAdapterPrototype.update = function (resourceConfig, id, attrs, options) {
var _this = this;
options = options || {};
return this.PUT(
return _this.PUT(
makePath(options.baseUrl || resourceConfig.baseUrl, resourceConfig.getEndpoint(id, options), id),
options.serialize ? options.serialize(resourceConfig.name, attrs) : _this.defaults.serialize(resourceConfig.name, attrs),
options,
resourceConfig
);
options
).then(function (data) {
return (options.deserialize ? options.deserialize : _this.defaults.deserialize)(resourceConfig.name, data);
});
};

dsHttpAdapterPrototype.updateAll = function (resourceConfig, attrs, params, options) {
var _this = this;
options = options || {};
options.params = options.params || {};
if (params) {
params = this.defaults.queryTransform(resourceConfig.name, params);
params = _this.defaults.queryTransform(resourceConfig.name, params);
deepMixIn(options.params, params);
}
return this.PUT(
makePath(options.baseUrl || resourceConfig.baseUrl, resourceConfig.getEndpoint(null, options)),
options.serialize ? options.serialize(resourceConfig.name, attrs) : _this.defaults.serialize(resourceConfig.name, attrs),
options,
resourceConfig
);
options
).then(function (data) {
return (options.deserialize ? options.deserialize : _this.defaults.deserialize)(resourceConfig.name, data);
});
};

dsHttpAdapterPrototype.destroy = function (resourceConfig, id, options) {
var _this = this;
options = options || {};
return this.DEL(
return _this.DEL(
makePath(options.baseUrl || resourceConfig.baseUrl, resourceConfig.getEndpoint(id, options), id),
options,
resourceConfig
);
options
).then(function (data) {
return (options.deserialize ? options.deserialize : _this.defaults.deserialize)(resourceConfig.name, data);
});
};

dsHttpAdapterPrototype.destroyAll = function (resourceConfig, params, options) {
var _this = this;
options = options || {};
options.params = options.params || {};
if (params) {
params = this.defaults.queryTransform(resourceConfig.name, params);
params = _this.defaults.queryTransform(resourceConfig.name, params);
deepMixIn(options.params, params);
}
return this.DEL(
makePath(options.baseUrl || resourceConfig.baseUrl, resourceConfig.getEndpoint(null, options)),
options,
resourceConfig
);
options
).then(function (data) {
return (options.deserialize ? options.deserialize : _this.defaults.deserialize)(resourceConfig.name, data);
});
};

module.exports = DSHttpAdapter;
Expand Down
Loading

0 comments on commit f3129af

Please sign in to comment.