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