How to use the @zilliqa-js/core.HTTPProvider.prototype function in @zilliqa-js/core

To help you get started, we’ve selected a few @zilliqa-js/core examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github zilpay / zil-pay / extension / inpage / browser / zilPay.js View on Github external
result.unsubscribe();
        resolve(
          Object.assign(tx, resultTx.resolve)
        );
      }

      // Close stream by time.
      setTimeout(() => {
        result.unsubscribe();
        reject(new Error('waiting time may have problems ZilPay'));
      }, 9000);
    });
  });
}

HTTPProvider.prototype.send = (method, params) => {
  const type = MTypesZilPay.PROXY_MEHTOD;
  const recipient = MTypesSecure.CONTENT;
  const uuid = uuidv4();
  
  new SecureMessage({
    type, payload: { params, method, uuid }
  }).send(stream, recipient);

  return new Promise((resolve, reject) => {
    const proxy = subjectStream.subscribe(result => {

      if (!result.uuid || result.uuid !== uuid) {
        return null;
      } else if (result.error) {
        reject(result.error);
      } else {
github zilpay / zil-pay / extension / content / browser / provider.js View on Github external
import fetch from 'cross-fetch';
import { HTTPProvider, composeMiddleware } from '@zilliqa-js/core';

const DEFAULT_HEADERS = { 'Content-Type': 'application/json' };

HTTPProvider.prototype.send = async function(method, ...params) {
  const [tReq, tRes] = this.getMiddleware(method);
  const reqMiddleware = composeMiddleware(...tReq);
  const resMiddleware = composeMiddleware(...tRes);

  const req = reqMiddleware(this.buildPayload(method, ...params));
  const response = await fetch(req.url, {
    method: 'POST',
    cache: 'no-cache',
    mode: 'cors',
    redirect: 'follow',
    body: JSON.stringify(req.payload),
    headers: {
      ...DEFAULT_HEADERS,
      ...((req.options && req.options.headers) || {}),
    }
  });