Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
options[key] = opts[key];
} else {
if (opts.headers) {
options.headers = options.headers || {};
extend(options.headers, opts.headers);
}
}
}
var res = yield httpx.request(url, options);
if (res.statusCode < 200 || res.statusCode > 204) {
var err = new Error("url: " + url + ", status code: " + res.statusCode);
err.name = "WeChatAPIError";
throw err;
}
var buffer = yield streamx.read(res);
var contentType = res.headers['content-type'] || '';
if (contentType.indexOf('application/json') !== -1) {
var data;
try {
data = JSON.parse(buffer);
} catch (ex) {
var err = new Error('JSON.parse error. buffer is ' + buffer.toString());
err.name = "WeChatAPIError";
throw err;
}
if (data && data.errcode) {
var err = new Error(data.errmsg);
err.name = 'WeChatAPIError';
err.code = data.errcode;
throw err;
}