UNPKG

rest-boubou

Version:

RESTful HTTP client library

55 lines (44 loc) 1.32 kB
/* * Copyright 2015 the original author or authors * @license MIT, see LICENSE.txt for details * * @author Scott Andrews */ (function (define) { 'use strict'; define(function (require) { var interceptor, uriTemplate, mixin; interceptor = require('../interceptor'); uriTemplate = require('../util/uriTemplate'); mixin = require('../util/mixin'); /** * Applies request params to the path as a URI Template * * Params are removed from the request object, as they have been consumed. * * @param {Client} [client] client to wrap * @param {Object} [config.params] default param values * @param {string} [config.template] default template * * @returns {Client} */ return interceptor({ init: function (config) { config.params = config.params || {}; config.template = config.template || ''; return config; }, request: function (request, config) { var template, params; template = request.path || config.template; params = mixin({}, request.params, config.params); request.path = uriTemplate.expand(template, params); delete request.params; return request; } }); }); }( typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require); } // Boilerplate for AMD and Node ));