// This is a default configuration for your development environment.
// You can duplicate this configuration for any of your Backend Environments.
// Different configurations are loaded setting a NODE_ENV variable that contain the config file name.
// `NODE_ENV=local npm start`
//
// If xoscsrftoken or xossessionid are not specified the browser value are used
// (works only for local environment as both application are served on the same domain)

module.exports = {
  host: 'http://xos.dev:9999/',
  xoscsrftoken: 'comXS9APlpktu9OcQqcNgpqQQ5tx68L1',
  xossessionid: '9cw4yv28j4wqcbewdxh3rucamev8tg9q'
};
