New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@mpxjs/api-proxy

Package Overview
Dependencies
Maintainers
14
Versions
179
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mpxjs/api-proxy - npm Package Compare versions

Comparing version 2.8.25-alpha.18 to 2.8.25-alpha.19

src/tenon/api/request/utils.js

4

package.json
{
"name": "@mpxjs/api-proxy",
"version": "2.8.25-alpha.18",
"version": "2.8.25-alpha.19",
"description": "convert miniprogram API at each end",

@@ -42,3 +42,3 @@ "module": "src/index.js",

},
"gitHead": "14a16b3d7995ce01989d2b516038b381678006b3"
"gitHead": "fed88f10a76c55cc2be19369b4b754191984d3a3"
}
import { webHandleSuccess, webHandleFail } from '../../../common/js'
import { buildQueryStringUrl, parseHeader, tryJsonParse } from './utils'
const { Request } = __GLOBAL__
const requestFn = new Request()
function request (options = { url: '' }) {
function request (options = {}) {
let {
data = {},
method = 'GET',
dataType = 'json',
responseType = 'text',
dataType = 'form',
responseType = 'json',
timeout = 60 * 1000,

@@ -14,3 +16,4 @@ header = {},

fail = null,
complete = null
complete = null,
url = ''
} = options

@@ -20,51 +23,62 @@

if (
method === 'POST' &&
typeof data !== 'string' && // string 不做处理
(header['Content-Type'] === 'application/x-www-form-urlencoded' ||
header['content-type'] === 'application/x-www-form-urlencoded')
) {
// 重新设置data
data = Object.keys(data)
.reduce((pre, curKey) => {
return `${pre}&${encodeURIComponent(curKey)}=${encodeURIComponent(
data[curKey]
)}`
}, '')
.slice(1)
if (['GET', 'PUT', 'DELETE'].indexOf(method) > -1) {
url = buildQueryStringUrl(data, url)
if (method === 'GET') {
data = {}
}
}
const requestFn = new Request()
switch (dataType) {
case 'form':
header = {
'Content-Type': 'application/x-www-form-urlencoded',
...header
}
break
requestFn.url = options.url
case 'json':
header = {
'Content-Type': 'application/json',
...header
}
break
}
requestFn.url = url
requestFn.method = method
requestFn.timeout = timeout
requestFn.param = data
requestFn.header = header
requestFn.param = data
requestFn.send((response) => {
let { status, header: resHeader, data: resData, error } = response
// 返回的数据处理
if (responseType === 'text' && dataType === 'json') {
try {
resData = JSON.parse(resData)
} catch (e) {}
}
if (status >= 200 && status < 300) {
const result = {
errMsg: 'request:ok',
data: resData,
statusCode: status,
header: resHeader
return new Promise((resolve, reject) => {
requestFn.send((response) => {
let { status, header: resHeader, data: resData, error } = response
// 返回的数据处理
if (status >= 200 && status < 300) {
if (responseType === 'json' && typeof resData === 'string') {
try {
resData = JSON.parse(resData)
} catch (e) {
console.log('resDataType默认为"json", 尝试对返回内容进行JSON.parse, 但似乎出了些问题(若不希望对结果进行parse, 可传入resDataType: "text"): ', e)
}
}
const result = {
errMsg: 'request:ok',
data: resData,
statusCode: status,
header: resHeader
}
webHandleSuccess(result, success, complete)
resolve(result)
} else {
if (responseType === 'json') {
resData = tryJsonParse(resData)
}
header = parseHeader(header)
const res = { errMsg: `request:fail ${error.msg}`, data: resData, header }
webHandleFail(res, fail, complete)
reject(res)
}
webHandleSuccess(result, success, complete)
return result
} else {
const res = { errMsg: `request:fail ${error.msg}` }
webHandleFail(res, fail, complete)
if (!fail) {
return Promise.reject(res)
}
}
})
})

@@ -71,0 +85,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc