Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
81141 views
1
'use strict'
2
3
var jsonSafeStringify = require('json-stringify-safe')
4
, crypto = require('crypto')
5
6
function deferMethod() {
7
if (typeof setImmediate === 'undefined') {
8
return process.nextTick
9
}
10
11
return setImmediate
12
}
13
14
function isFunction(value) {
15
return typeof value === 'function'
16
}
17
18
function paramsHaveRequestBody(params) {
19
return (
20
params.body ||
21
params.requestBodyStream ||
22
(params.json && typeof params.json !== 'boolean') ||
23
params.multipart
24
)
25
}
26
27
function safeStringify (obj) {
28
var ret
29
try {
30
ret = JSON.stringify(obj)
31
} catch (e) {
32
ret = jsonSafeStringify(obj)
33
}
34
return ret
35
}
36
37
function md5 (str) {
38
return crypto.createHash('md5').update(str).digest('hex')
39
}
40
41
function isReadStream (rs) {
42
return rs.readable && rs.path && rs.mode
43
}
44
45
function toBase64 (str) {
46
return (new Buffer(str || '', 'utf8')).toString('base64')
47
}
48
49
exports.isFunction = isFunction
50
exports.paramsHaveRequestBody = paramsHaveRequestBody
51
exports.safeStringify = safeStringify
52
exports.md5 = md5
53
exports.isReadStream = isReadStream
54
exports.toBase64 = toBase64
55
exports.defer = deferMethod()
56
57