You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					67 lines
				
				1.4 KiB
			
		
		
			
		
	
	
					67 lines
				
				1.4 KiB
			| 
											3 years ago
										 | 'use strict' | ||
|  | 
 | ||
|  | var jsonSafeStringify = require('json-stringify-safe') | ||
|  | var crypto = require('crypto') | ||
|  | var Buffer = require('safe-buffer').Buffer | ||
|  | 
 | ||
|  | var defer = typeof setImmediate === 'undefined' | ||
|  |   ? process.nextTick | ||
|  |   : setImmediate | ||
|  | 
 | ||
|  | function paramsHaveRequestBody (params) { | ||
|  |   return ( | ||
|  |     params.body || | ||
|  |     params.requestBodyStream || | ||
|  |     (params.json && typeof params.json !== 'boolean') || | ||
|  |     params.multipart | ||
|  |   ) | ||
|  | } | ||
|  | 
 | ||
|  | function safeStringify (obj, replacer) { | ||
|  |   var ret | ||
|  |   try { | ||
|  |     ret = JSON.stringify(obj, replacer) | ||
|  |   } catch (e) { | ||
|  |     ret = jsonSafeStringify(obj, replacer) | ||
|  |   } | ||
|  |   return ret | ||
|  | } | ||
|  | 
 | ||
|  | function md5 (str) { | ||
|  |   return crypto.createHash('md5').update(str).digest('hex') | ||
|  | } | ||
|  | 
 | ||
|  | function isReadStream (rs) { | ||
|  |   return rs.readable && rs.path && rs.mode | ||
|  | } | ||
|  | 
 | ||
|  | function toBase64 (str) { | ||
|  |   return Buffer.from(str || '', 'utf8').toString('base64') | ||
|  | } | ||
|  | 
 | ||
|  | function copy (obj) { | ||
|  |   var o = {} | ||
|  |   Object.keys(obj).forEach(function (i) { | ||
|  |     o[i] = obj[i] | ||
|  |   }) | ||
|  |   return o | ||
|  | } | ||
|  | 
 | ||
|  | function version () { | ||
|  |   var numbers = process.version.replace('v', '').split('.') | ||
|  |   return { | ||
|  |     major: parseInt(numbers[0], 10), | ||
|  |     minor: parseInt(numbers[1], 10), | ||
|  |     patch: parseInt(numbers[2], 10) | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | exports.paramsHaveRequestBody = paramsHaveRequestBody | ||
|  | exports.safeStringify = safeStringify | ||
|  | exports.md5 = md5 | ||
|  | exports.isReadStream = isReadStream | ||
|  | exports.toBase64 = toBase64 | ||
|  | exports.copy = copy | ||
|  | exports.version = version | ||
|  | exports.defer = defer |