forked from coolaj86/walnut.js
		
	
		
			
	
	
		
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports.rejectableRequest = function rejectableRequest(req, res, promise, msg) {
							 | 
						||
| 
								 | 
							
								  return promise.error(function (err) {
							 | 
						||
| 
								 | 
							
								    res.error(err);
							 | 
						||
| 
								 | 
							
								  }).catch(function (err) {
							 | 
						||
| 
								 | 
							
								    console.error('[ERROR] \'' + msg + '\'');
							 | 
						||
| 
								 | 
							
								    console.error(err.message);
							 | 
						||
| 
								 | 
							
								    console.error(err.stack);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    res.error(err);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports.promisableRequest =
							 | 
						||
| 
								 | 
							
								module.exports.promiseRequest = function promiseRequest(req, res, promise, msg) {
							 | 
						||
| 
								 | 
							
								  return promise.then(function (result) {
							 | 
						||
| 
								 | 
							
								    if (result._cache) {
							 | 
						||
| 
								 | 
							
								      res.setHeader('Cache-Control', 'public, max-age=' + (result._cache / 1000));
							 | 
						||
| 
								 | 
							
								      res.setHeader('Expires', new Date(Date.now() + result._cache).toUTCString());
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (result._mime) {
							 | 
						||
| 
								 | 
							
								      res.setHeader('Content-Type', result._mime);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (result._value) {
							 | 
						||
| 
								 | 
							
								      result = result._value;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    res.send(result);
							 | 
						||
| 
								 | 
							
								  }).error(function (err) {
							 | 
						||
| 
								 | 
							
								    res.error(err);
							 | 
						||
| 
								 | 
							
								  }).catch(function (err) {
							 | 
						||
| 
								 | 
							
								    console.error('[ERROR] \'' + msg + '\'');
							 | 
						||
| 
								 | 
							
								    console.error(err.message);
							 | 
						||
| 
								 | 
							
								    console.error(err.stack);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    res.error(err);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								};
							 |