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
			| 
								 
											4 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
							 |