All files / src/util requestManage.js

100% Statements 11/11
100% Branches 5/5
100% Functions 5/5
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41              35x       45x               2x       21x 1x     20x 20x       24x 1x     23x 23x      
/**
 * @file request methods, connected to rpc node
 * @author atom-yang
 */
 
export default class RequestManager {
  constructor(provider) {
    this.provider = provider;
  }
 
  static prepareRequest({ requestMethod, method, params = {} }) {
    return {
      method: requestMethod.toUpperCase(),
      url: method,
      params
    };
  }
 
  setProvider(provider) {
    this.provider = provider;
  }
 
  send(requestBody) {
    if (!this.provider) {
      return null;
    }
 
    const payload = RequestManager.prepareRequest(requestBody);
    return this.provider.send(payload);
  }
 
  sendAsync(requestBody) {
    if (!this.provider) {
      return null;
    }
 
    const payload = RequestManager.prepareRequest(requestBody);
    return this.provider.sendAsync(payload);
  }
}