Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// Node module: loopback-sdk-android
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
var SG = require('strong-globalize');
var g = SG();
var express = require('express');
var remotes = require('strong-remoting').create();
var SharedClass = require('strong-remoting').SharedClass;
remotes.exports = {
simple: require('./simple'),
contract: require('./contract'),
};
remotes.addClass(new SharedClass('SimpleClass', require('./simple-class')));
remotes.addClass(new SharedClass('ContractClass', require('./contract-class')));
var app = express();
app.use(require('morgan')('strong-remoting> :method :url :status'));
app.use(remotes.handler('rest'));
var server = require('http')
.createServer(app)
.listen(3001, function() {
console.log(g.f(
'{{strong-remoting}} test server listening on {{http://localhost:3001/}}'));
});
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
var SG = require('strong-globalize');
var g = SG();
var express = require('express');
var remotes = require('strong-remoting').create();
var SharedClass = require('strong-remoting').SharedClass;
remotes.exports = {
simple: require('./simple'),
contract: require('./contract'),
};
remotes.addClass(new SharedClass('SimpleClass', require('./simple-class')));
remotes.addClass(new SharedClass('ContractClass', require('./contract-class')));
var app = express();
app.use(require('morgan')('strong-remoting> :method :url :status'));
app.use(remotes.handler('rest'));
var server = require('http')
.createServer(app)
.listen(3001, function() {
console.log(g.f(
'{{strong-remoting}} test server listening on {{http://localhost:3001/}}'));
});
// Copyright IBM Corp. 2014. All Rights Reserved.
// Node module: loopback-sdk-android
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
var SG = require('strong-globalize');
var g = SG();
var express = require('express');
var remotes = require('strong-remoting').create();
var SharedClass = require('strong-remoting').SharedClass;
remotes.exports = {
simple: require('./simple'),
contract: require('./contract'),
};
remotes.addClass(new SharedClass('SimpleClass', require('./simple-class')));
remotes.addClass(new SharedClass('ContractClass', require('./contract-class')));
var app = express();
app.use(require('morgan')('strong-remoting> :method :url :status'));
app.use(remotes.handler('rest'));
var server = require('http')
.createServer(app)
description: idDesc},
// {arg: 'instance', type: 'object', http: {source: 'body'}}
{arg: 'options', type: 'object', http: createOptionsViaModelMethod},
];
ModelCtor.sharedCtor.http = [
{path: '/:id'},
];
ModelCtor.sharedCtor.returns = {root: true};
var remotingOptions = {};
extend(remotingOptions, options.remoting || {});
// create a sharedClass
var sharedClass = ModelCtor.sharedClass = new SharedClass(
ModelCtor.modelName,
ModelCtor,
remotingOptions
);
// before remote hook
ModelCtor.beforeRemote = function(name, fn) {
var className = this.modelName;
this._runWhenAttachedToApp(function(app) {
var remotes = app.remotes();
remotes.before(className + '.' + name, function(ctx, next) {
return fn(ctx, ctx.result, next);
});
});
};
description: idDesc},
// {arg: 'instance', type: 'object', http: {source: 'body'}}
{arg: 'options', type: 'object', http: createOptionsViaModelMethod},
];
ModelCtor.sharedCtor.http = [
{path: '/:id'},
];
ModelCtor.sharedCtor.returns = {root: true};
const remotingOptions = {};
extend(remotingOptions, options.remoting || {});
// create a sharedClass
const sharedClass = ModelCtor.sharedClass = new SharedClass(
ModelCtor.modelName,
ModelCtor,
remotingOptions,
);
// before remote hook
ModelCtor.beforeRemote = function(name, fn) {
const className = this.modelName;
this._runWhenAttachedToApp(function(app) {
const remotes = app.remotes();
remotes.before(className + '.' + name, function(ctx, next) {
return fn(ctx, ctx.result, next);
});
});
};
description: idDesc},
// {arg: 'instance', type: 'object', http: {source: 'body'}}
{arg: 'options', type: 'object', http: createOptionsViaModelMethod},
]);
ModelCtor.sharedCtor.http = [
{path: '/:id'}
];
ModelCtor.sharedCtor.returns = {root: true};
var remotingOptions = {};
extend(remotingOptions, options.remoting || {});
// create a sharedClass
var sharedClass = ModelCtor.sharedClass = new SharedClass(
ModelCtor.modelName,
ModelCtor,
remotingOptions
);
// setup a remoting type converter for this model
RemoteObjects.convert(typeName, function(val) {
return val ? new ModelCtor(val) : val;
});
// before remote hook
ModelCtor.beforeRemote = function(name, fn) {
var className = this.modelName;
this._runWhenAttachedToApp(function(app) {
var remotes = app.remotes();
remotes.before(className + '.' + name, function(ctx, next) {
}
var actualType = SharedMethod.getType(uarg);
// convert values to the correct type
// TODO(bajtos) Move conversions to HttpContext (and friends)
// SharedMethod should only check that argument values match argument types.
var conversionNeeded = targetType !== 'any' &&
actualType !== 'undefined' &&
actualType !== targetType;
if (conversionNeeded) {
// JSON.parse can throw, so catch this error.
try {
uarg = convertValueToTargetType(name, uarg, targetType);
actualType = SharedMethod.getType(uarg);
} catch (e) {
var message = util.format('invalid value for argument \'%s\' of type ' +
'\'%s\': %s. Received type was %s. Error: %s',
name, targetType, uarg, typeof uarg, e.message);
throw new BadArgumentError(message);
}
}
var typeMismatch = targetType !== 'any' &&
actualType !== 'undefined' &&
targetType !== actualType &&
// In JavaScript, an array is an object too (typeof [] === 'object').
// However, SharedMethod.getType([]) returns 'array' instead of 'object'.
// We must explicitly allow assignment of an array value to an argument
// of type 'object'.
!(targetType === 'object' && actualType === 'array');
var targetTypeIsArray = Array.isArray(targetType) && targetType.length === 1;
// If coercing an array to an erray,
// then coerce all members of the array too
if (targetTypeIsArray && Array.isArray(uarg)) {
return uarg.map(function uargMapFn(arg, ix) {
// when coercing array items, use only name and type,
// ignore all other root settings like "required"
return coerceAccepts(arg, {
name: name + '[' + ix + ']',
type: targetType[0]
});
});
}
var actualType = SharedMethod.getType(uarg);
// convert values to the correct type
// TODO(bajtos) Move conversions to HttpContext (and friends)
// SharedMethod should only check that argument values match argument types.
var conversionNeeded = targetType !== 'any' &&
actualType !== 'undefined' &&
actualType !== targetType;
if (conversionNeeded) {
// JSON.parse can throw, so catch this error.
try {
uarg = convertValueToTargetType(name, uarg, targetType);
actualType = SharedMethod.getType(uarg);
} catch (e) {
var message = util.format('invalid value for argument \'%s\' of type ' +
'\'%s\': %s. Received type was %s. Error: %s',
function RemoteConnector(settings) {
assert(typeof settings ===
'object',
'cannot initialize RemoteConnector without a settings object');
this.client = settings.client;
this.adapter = settings.adapter || 'rest';
this.protocol = settings.protocol || 'http';
this.root = settings.root || '';
this.host = settings.host || 'localhost';
this.port = settings.port || 3000;
this.remotes = remoting.create(settings.options);
this.name = 'remote-connector';
if (settings.url) {
this.url = settings.url;
} else {
this.url = this.protocol + '://' + this.host + ':' + this.port + this.root;
}
// handle mixins in the define() method
const DAO = this.DataAccessObject = function() {
};
}
];
ModelCtor.sharedCtor.returns = {root: true};
var remotingOptions = {};
extend(remotingOptions, options.remoting || {});
// create a sharedClass
var sharedClass = ModelCtor.sharedClass = new SharedClass(
ModelCtor.modelName,
ModelCtor,
remotingOptions
);
// setup a remoting type converter for this model
RemoteObjects.convert(typeName, function(val) {
return val ? new ModelCtor(val) : val;
});
// before remote hook
ModelCtor.beforeRemote = function(name, fn) {
var className = this.modelName;
this._runWhenAttachedToApp(function(app) {
var remotes = app.remotes();
remotes.before(className + '.' + name, function(ctx, next) {
return fn(ctx, ctx.result, next);
});
});
};
// after remote hook
ModelCtor.afterRemote = function(name, fn) {