UNPKG

nodulator

Version:

Complete NodeJS Framework for Restfull APIs

60 lines (48 loc) 1.31 kB
/* * Copyright 2012-2013 the original author or authors * @license MIT, see LICENSE.txt for details * * @author Scott Andrews */ (function (define) { 'use strict'; define(function (require) { var interceptor, UrlBuilder; interceptor = require('../interceptor'); UrlBuilder = require('../UrlBuilder'); function startsWith(str, prefix) { return str.indexOf(prefix) === 0; } function endsWith(str, suffix) { return str.lastIndexOf(suffix) + suffix.length === str.length; } /** * Prefixes the request path with a common value. * * @param {Client} [client] client to wrap * @param {number} [config.prefix] path prefix * * @returns {Client} */ return interceptor({ request: function (request, config) { var path; if (config.prefix && !(new UrlBuilder(request.path).isFullyQualified())) { path = config.prefix; if (request.path) { if (!endsWith(path, '/') && !startsWith(request.path, '/')) { // add missing '/' between path sections path += '/'; } path += request.path; } request.path = path; } return request; } }); }); }( typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require); } // Boilerplate for AMD and Node ));