const endOfBranch = function() {
   if (--count === 0) {
     logger.warn(
       `element ${element_id} could not be found for project ${project_id ||
         project._id}`
     )
     return callback(new Errors.NotFoundError('entity not found'))
   }
 }
var exponentialBackoffDelay = function(attempts) {
  const delay = Math.pow(2, attempts) * 1000

  logger.warn(
    'Error comunicating with the analytics service. ' +
      `Will try again attempt ${attempts} in ${delay}ms`
  )

  return delay
}
 return RateLimiter.addCount(options, function(error, canContinue) {
   if (error != null) {
     return next(error)
   }
   if (canContinue) {
     return next()
   } else {
     logger.warn(options, 'rate limit exceeded')
     res.status(429) // Too many requests
     res.write('Rate limit reached, please try again later')
     return res.end()
   }
 })
 function(error, response, body) {
   if (error != null) {
     return next(error)
   }
   if (!(body != null ? body.success : undefined)) {
     logger.warn(
       { statusCode: response.statusCode, body },
       'failed recaptcha siteverify request'
     )
     return res.status(400).send({
       errorReason: 'cannot_verify_user_not_robot',
       message: {
         text:
           'Sorry, we could not verify that you are not a robot. Please check that Google reCAPTCHA is not being blocked by an ad blocker or firewall.'
       }
     })
   } else {
     return next()
   }
 }
    if (!SafePath.isCleanFilename(element.name)) {
      e = new Errors.InvalidNameError('invalid element name')
      logger.err(
        { project_id: project._id, folder_id, element, type },
        'failed trying to insert element as name was invalid'
      )
      return callback(e)
    }

    if (folder_id == null) {
      folder_id = project.rootFolder[0]._id
    }

    if (self._countElements(project) > settings.maxEntitiesPerProject) {
      logger.warn(
        { project_id: project._id },
        'project too big, stopping insertions'
      )
      CooldownManager.putProjectOnCooldown(project._id)
      return callback('project_has_to_many_files')
    }

    return ProjectLocator.findElement(
      { project, element_id: folder_id, type: 'folders' },
      (err, folder, path) => {
        if (err != null) {
          logger.err(
            { err, project_id: project._id, folder_id, type, element },
            'error finding folder for _putElement'
          )
          return callback(err)
        }
 return proxy.on('error', error =>
   logger.warn({ err: error, url }, 'CLSI proxy error')
Example #7
0
  logger.log('using smtp for email')
  const smtp = _.pick(
    __guard__(
      Settings != null ? Settings.email : undefined,
      x12 => x12.parameters
    ),
    'host',
    'port',
    'secure',
    'auth',
    'ignoreTLS'
  )
  nm_client = nodemailer.createTransport(smtp)
} else {
  logger.warn(
    'Email transport and/or parameters not defined. No emails will be sent.'
  )
  nm_client = client
}

if (nm_client != null) {
  client = nm_client
} else {
  logger.warn(
    'Failed to create email transport. Please check your settings. No email will be sent.'
  )
}

const checkCanSendEmail = function(options, callback) {
  if (options.sendingUser_id == null) {
    // email not sent from user, not rate limited