<commit_before>'use strict';

/**
 * @author fkei <<EMAIL>>
 * @name index.js <index.js>
 * @fileOverview Crawler(robots) decision middleware for Express
 */

var BOTS = [
  'Twitterbot',
  'Google Keyword Suggestion',
  'AdsBot-Google',
  'Googlebot',
  'applebot',
  'curl',
  'PycURL',
  //'Bot',
  'B-O-T',
  'Crawler',
  'Spider',
  'Spyder',
  'Yahoo',
  'ia_archiver',
  'facebookexternalhit',
  'facebookplatform',
  'baiduspider',
  'pingdom',
  'bingbot',
  'msnbot',
  'Twikle',
  'TweetmemeBot',
  'YandexBot',
  'Facebot',
  'Snappy',
  'Teoma',
  'NetResearchServer',
  'telegrambot',
  'slackbot',
  'linkedinbot',
  'slurp',
  'gurujibot',
  'UnwindFetchor',
  'Wotbox',
  'PaperLiBot',
  'WBSearchBot',
  'GSLFbot',
  'Ezooms',
  'AhrefsBot',
  'Covario-IDS',
  'findlinks',
  'DataparkSearch',
  'larbin',
  'Mediapartners-Google',
  'NG-Search',
  'Jeeves',
  'Charlotte',
  'NewsGator',
  'TinEye',
  'Cerberian',
  'SearchSight',
  'Zao',
  'Scrubby',
  'Qseero',
  'Pompos',
  'oegp',
  'SBIder',
  'yoogliFetchAgent',
  'yacy',
  'webcollage',
  'VYU2',
  'voyager',
  'updated',
  'truwoGPS',
  'StackRambler',
  'Sqworm',
  'silk',
  'semanticdiscovery',
  'ScoutJet',
  'Nymesis',
  'MVAClient',
  'mogimogi',
  'Mnogosearch',
  'Arachmo',
  'Accoona',
  'holmes',
  'htdig',
  'ichiro',
  'webis',
  'LinkWalker',
  'lwp-trivial',
  'nanagogo-bot',
  'GoogleCloudMonitoring-UptimeChecks'
];

/**
 * Express middleware
 * @param options
 * @returns {Function}
 * @example
 *
 * app.use(require('express-bot')({
 *   querystring: { // dicision using querystring  https://localhost?bot=1 -> hit!!
 *     use: true,
 *     key: 'bot',
 *     value: '1',
 *   }
 * }));
 */<commit_msg>Added: stackdriver terminus bot<commit_after>'use strict';

/**
 * @author fkei <<EMAIL>>
 * @name index.js <index.js>
 * @fileOverview Crawler(robots) decision middleware for Express
 */

var BOTS = [
  'Twitterbot',
  'Google Keyword Suggestion',
  'AdsBot-Google',
  'Googlebot',
  'applebot',
  'curl',
  'PycURL',
  //'Bot',
  'B-O-T',
  'Crawler',
  'Spider',
  'Spyder',
  'Yahoo',
  'ia_archiver',
  'facebookexternalhit',
  'facebookplatform',
  'baiduspider',
  'pingdom',
  'bingbot',
  'msnbot',
  'Twikle',
  'TweetmemeBot',
  'YandexBot',
  'Facebot',
  'Snappy',
  'Teoma',
  'NetResearchServer',
  'telegrambot',
  'slackbot',
  'linkedinbot',
  'slurp',
  'gurujibot',
  'UnwindFetchor',
  'Wotbox',
  'PaperLiBot',
  'WBSearchBot',
  'GSLFbot',
  'Ezooms',
  'AhrefsBot',
  'Covario-IDS',
  'findlinks',
  'DataparkSearch',
  'larbin',
  'Mediapartners-Google',
  'NG-Search',
  'Jeeves',
  'Charlotte',
  'NewsGator',
  'TinEye',
  'Cerberian',
  'SearchSight',
  'Zao',
  'Scrubby',
  'Qseero',
  'Pompos',
  'oegp',
  'SBIder',
  'yoogliFetchAgent',
  'yacy',
  'webcollage',
  'VYU2',
  'voyager',
  'updated',
  'truwoGPS',
  'StackRambler',
  'Sqworm',
  'silk',
  'semanticdiscovery',
  'ScoutJet',
  'Nymesis',
  'MVAClient',
  'mogimogi',
  'Mnogosearch',
  'Arachmo',
  'Accoona',
  'holmes',
  'htdig',
  'ichiro',
  'webis',
  'LinkWalker',
  'lwp-trivial',
  'nanagogo-bot',
  'GoogleCloudMonitoring-UptimeChecks',
  'Stackdriver_terminus_bot'
];

/**
 * Express middleware
 * @param options
 * @returns {Function}
 * @example
 *
 * app.use(require('express-bot')({
 *   querystring: { // dicision using querystring  https://localhost?bot=1 -> hit!!
 *     use: true,
 *     key: 'bot',
 *     value: '1',
 *   }
 * }));
 */
{'fraction_non_alphanumeric': 0.2027729636048527, 'fraction_numerical': 0.0017331022530329288, 'mean_word_length': 3.5867549668874172, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 11, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '578568', 'n_tokens_mistral': 1572, 'n_tokens_neox': 1537, 'n_words': 246}