<commit_before>var
  ClientConnectionStore = require('../store/ClientConnection'),
  PluginStore = require('../store/Plugin'),
  ResponseObject = require('kuzzle-common-objects').Models.responseObject,
  RequestObject = require('kuzzle-common-objects').Models.requestObject,
  Router = require('../service/Router');

/**
 * Context constructor
 * 
 * @param {ProxyBackendHandler} BackendHandler
 * @param {String} backendMode
 * @constructor
 */
function Context (BackendHandler, backendMode) {
  /** @type {Broker} */
  this.broker = null;

  /** @type {ClientConnection} */
  this.clientConnectionStore = new ClientConnectionStore();

  /** @note Context is provided to the Handler to implement more complex handlers */
  /** @type {ProxyBackendHandler} */
  this.backendHandler = new BackendHandler(backendMode, this);

  /** @type {Plugin} */
  this.pluginStore = new PluginStore();

  /** @type {Router} */
  this.router = new Router(this);
}

/**
 * A Kuzzle RequestObject used by the plugins
 *
 * @param object
 */
Context.prototype.RequestObject = RequestObject;

/**
 * A Kuzzle ResponseObject for the plugins
 *
 * @param object
 */
Context.prototype.ResponseObject = ResponseObject;

/**
 * Dependency injection of the broker
 *
 * @param {Broker} broker
 */<commit_msg>This is not a commit to test Travis obviously<commit_after>var
  ClientConnectionStore = require('../store/ClientConnection'),
  PluginStore = require('../store/Plugin'),
  ResponseObject = require('kuzzle-common-objects').Models.responseObject,
  RequestObject = require('kuzzle-common-objects').Models.requestObject,
  Router = require('../service/Router');

/**
 * Context constructor
 * 
 * @param {ProxyBackendHandler} BackendHandler
 * @param {String} backendMode
 * @constructor
 */
function Context (BackendHandler, backendMode) {
  /** @type {Broker} */
  this.broker = null;

  /** @type {ClientConnection} */
  this.clientConnectionStore = new ClientConnectionStore();

  /** @note Context is provided to the Handler to implement more complex handlers */
  /** @type {ProxyBackendHandler} */
  this.backendHandler = new BackendHandler(backendMode, this);

  /** @type {Plugin} */
  this.pluginStore = new PluginStore();

  /** @type {Router} */
  this.router = new Router(this);
}

/**
 * A Kuzzle RequestObject used by the plugins
 *
 * @param object
 */
Context.prototype.RequestObject = RequestObject;

/**
 * A Kuzzle ResponseObject used by the plugins
 *
 * @param object
 */
Context.prototype.ResponseObject = ResponseObject;

/**
 * Dependency injection of the broker
 *
 * @param {Broker} broker
 */
{'fraction_non_alphanumeric': 0.14, 'fraction_numerical': 0.0, 'mean_word_length': 4.202, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, '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': '4968396', 'n_tokens_mistral': 745, 'n_tokens_neox': 719, 'n_words': 189}