var urlencode= require('urlencode');

exports=module.exports=function(logger,rest,settings){
	var api_service_endpoint = 'http://47.98.198.227:59000/v1';

	function index(req,res,next){
		logger.debug(req.user);
		res.render('robotMobile',{title:'外呼机器人'});
	} 

	function splitUrl(fullUrl){
		if(settings.prefix&&settings.prefix.length>1){
			fullUrl=fullUrl.substring(settings.prefix.length-1);
		}
		var url=fullUrl.substring(9);
		return url;
	}

	function get(req,res,next){ 
		var url=splitUrl(req.originalUrl);
		rest.get({ 
			'baseUrl':'url',
			'url':api_service_endpoint+url,
			'useUrl':true,
			'params':req.body,
			'callback':_cb,
			'req':req,
			'res':res,
			'options':{},
			'excludeToken':true
		});
		function _cb(data,response){   
			res.send(data);   
		} 	 
		// res.send({
		// 	"total_count":20,
		// 	"items":[{
		// 		"id":'001',
		// 		"call_out_number":'18501068035',
		// 		"call_out_time":2022222,
		// 		"status":"4",
		// 		"record_url":'xxxx'
		// 	}]
		// })
	}

	function post(req,res,next){ 
		var url=splitUrl(req.originalUrl);
		rest.postJson({ 
			'baseUrl':'url',
			'url':api_service_endpoint+url,
			'useUrl':true,
			'params':req.body,
			'callback':_cb,
			'req':req,
			'res':res,
			'options':{},
			'excludeToken':true
		});
		function _cb(data,response){   
			res.send(data);  
		}
	}

	function put(req,res,next){ 
		var url=splitUrl(req.originalUrl);
		rest.putJson({ 
			'baseUrl':'url',
			'url':api_service_endpoint+url,
			'useUrl':true,
			'params':req.body,
			'callback':_cb,
			'req':req,
			'res':res,
			'options':{},
			'excludeToken':true
		});
		function _cb(data,response){   
			res.send(data);  
		}
	}

	function patch(req,res,next){ 
		var url=splitUrl(req.originalUrl);
		rest.patchJson({ 
			'baseUrl':'url',
			'url':api_service_endpoint+url,
			'useUrl':true,
			'params':req.body,
			'callback':_cb,
			'req':req,
			'res':res,
			'options':{},
			'excludeToken':true
		});
		function _cb(data,response){   
			res.send(data);  
		} 
	}

	function head(req,res,next){ 
		var url=splitUrl(req.originalUrl);
		rest.get({ 
			'baseUrl':'url',
			'url':api_service_endpoint+url,
			'useUrl':true,
			'params':req.body,
			'callback':_cb,
			'req':req,
			'res':res,
			'options':{},
			'excludeToken':true
		});
		function _cb(data,response){   
			res.send(data);  
		}
	}

	function del(req,res,next){  
		var url=splitUrl(req.originalUrl);
		rest.del({ 
			'baseUrl':'url',
			'url':api_service_endpoint+url,
			'useUrl':true,
			'params':req.body,
			'callback':_cb,
			'req':req,
			'res':res,
			'options':{},
			'excludeToken':true
		});
		function _cb(data,response){   
			res.send(data);  
		}
	}

	return {
		'index':index,
		'get':get,
		'post':post,
		'put':put,
		'patch':patch,
		'head':head,
		'delete':del
	};
};

exports['@singleton']=true;
exports['@require']=['igloo/logger','utils/rest','igloo/settings'];