Esempio n. 1
0
/*global require, module*/
var ApiBuilder = require('claudia-api-builder'),
	api = new ApiBuilder();

module.exports = api;

api.get('/', function (request) {
	'use strict';
	return request.env.message || 'hello world';
});

api.addPostDeployStep('message', function (options, lambdaDetails, utils) {
	'use strict';
	var customMessage = options['custom-message'];
	if (!customMessage) {
		return;
	}
	return utils.apiGatewayPromise.createDeploymentPromise({
		restApiId: lambdaDetails.apiId,
		stageName: lambdaDetails.alias,
		variables: { 'message': customMessage }
	}).then(function () {
		return customMessage;
	});
});

Esempio n. 2
0
	var logger = new EventLogger(request, request.env.analyticsAppId),
		name = request.queryString.name || '';

	return logger.logEvent('executed', { name: name }, { length: name.length }).then(function () {
		if (name) {
			return 'Logged for ' + name;
		} else {
			return 'Logged empty request. Specify ?name= to log with a name';
		}
	});
});

api.addPostDeployStep('analyticsConfig', function (options, lambdaDetails, utils) {
	'use strict';
	if (options['configure-analytics']) {
		return ask('Mobile Analytics ID', utils.Promise)
			.then(function (appId) {
				var deployment = {
					restApiId: lambdaDetails.apiId,
					stageName: lambdaDetails.alias,
					variables: {
						analyticsAppId: appId
					}
				};
				return utils.apiGatewayPromise.createDeploymentPromise(deployment).then(function () {
					return appId;
				});
			});
	}
});