whole_func_string: function setCors(req, res, verb) {
      let dom = this[config].cors;
      if (dom === true) {
        dom = req.headers['origin'] || '*';
      } else if (dom instanceof Array) {
        if (!req.headers['origin']) {
          dom = false;
        } else {
          let found = false;
          for (let i = 0, len = dom.length; i < len; i++) {
            if (dom[i].indexOf(req.headers['origin']) === -1) continue;
            found = true;
            dom = dom[i];
            break;
          }
          if (!found) return;
        }
      }
      // CHECK if we have corsIgnore in settings
      let ignoreHosts;
      if (typeof this[config].corsIgnore === 'string') {
        ignoreHosts = [this[config].corsIgnore];
      } else if (this[config].corsIgnore instanceof Array) {
        ignoreHosts = this[config].corsIgnore;
      }
      if (ignoreHosts instanceof Array) {
        let origin = getRawOrigin(dom);
        for (let i = 0; i < ignoreHosts.length; i++) {
          let domain = ignoreHosts[i],
            isMatch = matchCorsOrigin(domain, origin, dom);
          if (isMatch) return;
        }
      }
      if (!dom) return;
      res.header('Access-Control-Allow-Origin', dom);
      res.header('Access-Control-Allow-Methods', verb.toUpperCase() + ', OPTIONS');
      res.header('Access-Control-Allow-Credentials', 'true');
      res.header('Access-Control-Allow-Headers', req.headers['access-control-request-headers'] || '*');
      res.header('Access-Control-Max-Age', '600');
    }
func_code_string: function setCors(req, res, verb) {
      let dom = this[config].cors;
      if (dom === true) {
        dom = req.headers['origin'] || '*';
      } else if (dom instanceof Array) {
        if (!req.headers['origin']) {
          dom = false;
        } else {
          let found = false;
          for (let i = 0, len = dom.length; i < len; i++) {
            if (dom[i].indexOf(req.headers['origin']) === -1) continue;
            found = true;
            dom = dom[i];
            break;
          }
          if (!found) return;
        }
      }
      // CHECK if we have corsIgnore in settings
      let ignoreHosts;
      if (typeof this[config].corsIgnore === 'string') {
        ignoreHosts = [this[config].corsIgnore];
      } else if (this[config].corsIgnore instanceof Array) {
        ignoreHosts = this[config].corsIgnore;
      }
      if (ignoreHosts instanceof Array) {
        let origin = getRawOrigin(dom);
        for (let i = 0; i < ignoreHosts.length; i++) {
          let domain = ignoreHosts[i],
            isMatch = matchCorsOrigin(domain, origin, dom);
          if (isMatch) return;
        }
      }
      if (!dom) return;
      res.header('Access-Control-Allow-Origin', dom);
      res.header('Access-Control-Allow-Methods', verb.toUpperCase() + ', OPTIONS');
      res.header('Access-Control-Allow-Credentials', 'true');
      res.header('Access-Control-Allow-Headers', req.headers['access-control-request-headers'] || '*');
      res.header('Access-Control-Max-Age', '600');
    }
func_documentation_string: /*
  Binds to the default frux handler.
  The default frux handler will handle incoming POST request with:
  body.action -> the action we want to process.
  body.payload -> the payload we want to attach to it.
  If action is not specified, we fail.