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.
		
		
		
		
		
			
		
			
				
					
					
						
							66 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							66 lines
						
					
					
						
							1.4 KiB
						
					
					
				
								'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
							 | 
						|
								
							 |