// 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://clnode078.clemson.cloudlab.us:9999/',
  xoscsrftoken: 'jhkNhrGWS7FyvzPAWEsJtVkgwYSODDhm',
  xossessionid: 'dr26sgw3bixae7pqyy7soydf864a554u'
};
