request(options, function(error, response, body) { if (error) { logger.error(context, 'Connection error sending registrations to the Context Broker: %s', error); callback(error); } else if (response && body && response.statusCode === 200) { var errorField = getErrorField(body); if (errorField) { logger.error(context, 'Registration error connecting to the Context Broker: %j', errorField); callback(new errors.BadRequest(JSON.stringify(errorField))); } else { logger.debug(context, 'Registration success.'); callback(null, body); } } else { var errorObj; logger.error(context, 'Protocol error connecting to the Context Broker: %j', errorObj); if (unregister) { errorObj = new errors.UnregistrationError(deviceData.id, deviceData.type); } else { errorObj = new errors.RegistrationError(deviceData.id, deviceData.type); } callback(errorObj); } });
request(options, function(error, response, body) { if (error) { logger.debug(context, 'Error found updating value in Context Broker: %s', error); callback(error); } else if (body.orionError) { logger.debug(context, 'Orion error found updating value in Context Broker: %j', body.orionError); callback(new errors.BadRequest(body.orionError.details)); } else if (response && body && response.statusCode === 200) { var errorField = getErrorField(body); if (errorField) { logger.error(context, 'Update value error connecting to the Context Broker: %j', errorField); callback(new errors.BadRequest(JSON.stringify(errorField))); } else { logger.debug(context, 'Value updated successfully'); callback(null, body); } } else if (response && response.statusCode === 403) { logger.debug(context, 'Access forbidden updating value'); callback(new errors.AccessForbidden( token, options.headers['fiware-service'], options.headers['fiware-servicepath'])); } else { logger.debug(context, 'Unknown error updating value'); callback(new errors.EntityUpdateError(entityName, typeInformation.type)); } });
/** * Retrieve a device from the registry based on its entity name. * * @param {String} deviceName Name of the entity associated to a device. */ function getDeviceByName(deviceName, callback) { if (registry) { registry.getByName(deviceName, callback); } else { logger.error(context, 'Tried to get device information before a registry was available'); callback(new errors.RegistryNotAvailable()); } }
/** * Retrieve a device from the device registry. * * @param {String} deviceId ID of the device to be found. */ function getDevice(deviceId, callback) { if (registry) { registry.get(deviceId, callback); } else { logger.error(context, 'Tried to list devices before a registry was available'); callback(new errors.RegistryNotAvailable()); } }
/** * Return a list of all the devices registered in the system. This function can be invoked in two different ways: * with just one parameter (the callback) or with three parameters (including limit and offset). * * @param {String} service * @param {String} subservice * @param {Number} limit Maximum number of entries to return. * @param {Number} offset Number of entries to skip for pagination. */ function listDevices(service, subservice, limit, offset, callback) { if (!callback) { callback = limit; } if (registry) { registry.list(service, subservice, limit, offset, callback); } else { logger.error(context, 'Tried to list devices before a registry was available'); callback(new errors.RegistryNotAvailable()); } }
function domainErrorHandler(err) { logger.error(err); cleanDomain(); }