wzp
2021-05-13 7d694a9113118daec5be7ac224dab46a3b20f106
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import request, {Options, FormData} from 'then-request';
import {Req, Res} from './messages';
 
function init() {
  return (req: Req): Promise<Res> => {
    // Note how even though we return a promise, the resulting rpc client will be synchronous
    const {form, ...o} = req.o || {form: undefined};
    const opts: Options = o;
    if (form) {
      const fd = new FormData();
      form.forEach(entry => {
        fd.append(entry.key, entry.value, entry.fileName);
      });
      opts.form = fd;
    }
    return request(req.m, req.u, opts).then(response => ({
      s: response.statusCode,
      h: response.headers,
      b: response.body,
      u: response.url,
    }));
  };
}
module.exports = init;