request.ts
1.22 KB
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
42
import { http } from '@kit.NetworkKit';
const request = async (url: string, options: http.HttpRequestOptions, successCode: number[] | number) => {
const httpRequest = http.createHttp();
try {
console.info('request url: ' + url);
console.info('request req: ' + JSON.stringify(options));
const httpResponse = await httpRequest.request(url, {
...options,
priority: 1,
connectTimeout: 60000,
readTimeout: 60000,
usingProtocol: http.HttpProtocol.HTTP1_1
});
console.info('request res: ' + JSON.stringify(httpResponse));
if ((Array.isArray(successCode) && successCode.includes(httpResponse.responseCode)) || httpResponse.responseCode === successCode) {
const requestID = httpResponse.header['x-oss-request-id'];
console.info(`request success${requestID ? ', oss request ID: ' + requestID : ''}`);
return httpResponse;
} else {
throw {
code: httpResponse.responseCode,
result: httpResponse.result.toString(),
requestID: httpResponse.header['x-oss-request-id']
};
}
} catch (err) {
console.info('request error: ' + JSON.stringify(err));
throw err;
} finally {
httpRequest.destroy();
}
};
export {
request
};