Commit 3ac8948b1c66a0ef2e9f1164e7bb11bfc2d731a1
1 parent
8ea2305a03
Exists in
master
Compact payload
Showing 1 changed file with 2 additions and 5 deletions Inline Diff
lib/generic-xmlrpc/compose-payload.js
1 | const paramsIsArray = (methodName, params) => `<?xml version="1.0"?> | 1 | const paramsIsArray = (methodName, params) => `<?xml version="1.0"?> |
2 | <methodCall> | 2 | <methodCall> |
3 | <methodName>${methodName}</methodName> | 3 | <methodName>${methodName}</methodName> |
4 | <params> | 4 | <params> |
5 | <param> | 5 | <param> |
6 | <value> | 6 | <value> |
7 | <struct> | 7 | <struct> |
8 | ${(params || []).map((param) => ` | 8 | ${(params || []).map((param) => ` |
9 | <member> | 9 | <member> |
10 | <name>${param.name}</name> | 10 | <name>${param.name}</name> |
11 | <value> | 11 | <value><${param.type || 'string'}>${param.value}</${param.type || 'string'}></value> |
12 | <${param.type || 'string'}>${param.value}</${param.type || 'string'}> | 12 | </member> |
13 | </value> | ||
14 | </member> | ||
15 | |||
16 | `).join('')} | 13 | `).join('')} |
17 | </struct> | 14 | </struct> |
18 | </value> | 15 | </value> |
19 | </param> | 16 | </param> |
20 | </params> | 17 | </params> |
21 | </methodCall>`; | 18 | </methodCall>`; |
22 | 19 | ||
23 | const paramsIsNotArray = (methodName, params) => { | 20 | const paramsIsNotArray = (methodName, params) => { |
24 | const paramsInArray = []; | 21 | const paramsInArray = []; |
25 | 22 | ||
26 | // eslint-disable-next-line no-restricted-syntax | 23 | // eslint-disable-next-line no-restricted-syntax |
27 | for (const [keyword, value] of Object.entries(params)) { | 24 | for (const [keyword, value] of Object.entries(params)) { |
28 | paramsInArray.push({ | 25 | paramsInArray.push({ |
29 | name: keyword, | 26 | name: keyword, |
30 | value: (typeof value === 'object' && value.value) || value, | 27 | value: (typeof value === 'object' && value.value) || value, |
31 | type: value.type || 'string', | 28 | type: value.type || 'string', |
32 | }); | 29 | }); |
33 | } | 30 | } |
34 | 31 | ||
35 | return paramsIsArray(methodName, paramsInArray); | 32 | return paramsIsArray(methodName, paramsInArray); |
36 | }; | 33 | }; |
37 | 34 | ||
38 | module.exports = (methodName, params) => ( | 35 | module.exports = (methodName, params) => ( |
39 | Array.isArray(params) | 36 | Array.isArray(params) |
40 | ? paramsIsArray(methodName, params) | 37 | ? paramsIsArray(methodName, params) |
41 | : paramsIsNotArray(methodName, params) | 38 | : paramsIsNotArray(methodName, params) |
42 | ); | 39 | ); |
43 | 40 |