response返回结果处理直接返回response.body
This commit is contained in:
parent
f218659bb5
commit
2f58588a8e
|
|
@ -36,7 +36,7 @@ export default class SimpleConnector<ED extends EntityDict & BaseEntityDict, Fro
|
|||
opRecords: any;
|
||||
message: string | null;
|
||||
} | {
|
||||
result: ArrayBuffer;
|
||||
result: ReadableStream<Uint8Array> | null;
|
||||
message: string | null;
|
||||
opRecords?: undefined;
|
||||
}>;
|
||||
|
|
@ -45,7 +45,7 @@ export default class SimpleConnector<ED extends EntityDict & BaseEntityDict, Fro
|
|||
opRecords: any;
|
||||
message: string | null;
|
||||
} | {
|
||||
result: ArrayBuffer;
|
||||
result: ReadableStream<Uint8Array> | null;
|
||||
message: string | null;
|
||||
opRecords?: undefined;
|
||||
}>;
|
||||
|
|
|
|||
|
|
@ -81,8 +81,7 @@ class SimpleConnector {
|
|||
throw new types_1.OakServerProxyException(`网络请求返回status是${response.status}`);
|
||||
}
|
||||
const message = response.headers.get('oak-message');
|
||||
const responseType = response.headers.get('Content-Type') ||
|
||||
response.headers.get('content-type');
|
||||
const responseType = response.headers.get('Content-Type') || response.headers.get('content-type');
|
||||
if (responseType?.toLocaleLowerCase().match(/application\/json/i)) {
|
||||
const { exception, result, opRecords } = await response.json();
|
||||
if (exception) {
|
||||
|
|
@ -94,18 +93,24 @@ class SimpleConnector {
|
|||
message,
|
||||
};
|
||||
}
|
||||
else if (responseType
|
||||
?.toLocaleLowerCase()
|
||||
.match(/application\/octet-stream/i)) {
|
||||
const result = await response.arrayBuffer();
|
||||
// else if (
|
||||
// responseType
|
||||
// ?.toLocaleLowerCase()
|
||||
// .match(/application\/octet-stream/i)
|
||||
// ) {
|
||||
// const result = await response.arrayBuffer();
|
||||
// return {
|
||||
// result,
|
||||
// message,
|
||||
// };
|
||||
// }
|
||||
else {
|
||||
const result = response.body;
|
||||
return {
|
||||
result,
|
||||
message,
|
||||
};
|
||||
}
|
||||
else {
|
||||
throw new Error(`尚不支持的content-type类型${responseType}`);
|
||||
}
|
||||
}
|
||||
async callAspect(name, params, context) {
|
||||
const { headers, body } = await this.makeHeadersAndBody(name, params, context);
|
||||
|
|
@ -153,8 +158,7 @@ class SimpleConnector {
|
|||
throw new types_1.OakServerProxyException(`网络请求返回status是${response.status}`);
|
||||
}
|
||||
const message = response.headers.get('oak-message');
|
||||
const responseType = response.headers.get('Content-Type') ||
|
||||
response.headers.get('content-type');
|
||||
const responseType = response.headers.get('Content-Type') || response.headers.get('content-type');
|
||||
if (responseType?.toLocaleLowerCase().match(/application\/json/i)) {
|
||||
const { socketUrl, subscribeUrl, path } = await response.json();
|
||||
return {
|
||||
|
|
@ -193,11 +197,19 @@ class SimpleConnector {
|
|||
},
|
||||
};
|
||||
}
|
||||
if (typeof result === 'object') {
|
||||
return {
|
||||
body: {
|
||||
result,
|
||||
opRecords,
|
||||
},
|
||||
headers: {
|
||||
'oak-message': message,
|
||||
},
|
||||
};
|
||||
}
|
||||
return {
|
||||
body: {
|
||||
result,
|
||||
opRecords,
|
||||
},
|
||||
body: result,
|
||||
headers: {
|
||||
'oak-message': message,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -94,9 +94,7 @@ export default class SimpleConnector<ED extends EntityDict & BaseEntityDict, Fro
|
|||
}
|
||||
|
||||
const message = response.headers.get('oak-message');
|
||||
const responseType =
|
||||
response.headers.get('Content-Type') ||
|
||||
response.headers.get('content-type');
|
||||
const responseType = response.headers.get('Content-Type') || response.headers.get('content-type');
|
||||
if (responseType?.toLocaleLowerCase().match(/application\/json/i)) {
|
||||
const { exception, result, opRecords } = await response.json();
|
||||
|
||||
|
|
@ -108,18 +106,24 @@ export default class SimpleConnector<ED extends EntityDict & BaseEntityDict, Fro
|
|||
opRecords,
|
||||
message,
|
||||
};
|
||||
} else if (
|
||||
responseType
|
||||
?.toLocaleLowerCase()
|
||||
.match(/application\/octet-stream/i)
|
||||
) {
|
||||
const result = await response.arrayBuffer();
|
||||
}
|
||||
// else if (
|
||||
// responseType
|
||||
// ?.toLocaleLowerCase()
|
||||
// .match(/application\/octet-stream/i)
|
||||
// ) {
|
||||
// const result = await response.arrayBuffer();
|
||||
// return {
|
||||
// result,
|
||||
// message,
|
||||
// };
|
||||
// }
|
||||
else {
|
||||
const result = response.body;
|
||||
return {
|
||||
result,
|
||||
message,
|
||||
};
|
||||
} else {
|
||||
throw new Error(`尚不支持的content-type类型${responseType}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -177,9 +181,7 @@ export default class SimpleConnector<ED extends EntityDict & BaseEntityDict, Fro
|
|||
}
|
||||
|
||||
const message = response.headers.get('oak-message');
|
||||
const responseType =
|
||||
response.headers.get('Content-Type') ||
|
||||
response.headers.get('content-type');
|
||||
const responseType = response.headers.get('Content-Type') || response.headers.get('content-type');
|
||||
if (responseType?.toLocaleLowerCase().match(/application\/json/i)) {
|
||||
const { socketUrl, subscribeUrl, path } = await response.json();
|
||||
|
||||
|
|
@ -228,11 +230,20 @@ export default class SimpleConnector<ED extends EntityDict & BaseEntityDict, Fro
|
|||
};
|
||||
}
|
||||
|
||||
if (typeof result === 'object') {
|
||||
return {
|
||||
body: {
|
||||
result,
|
||||
opRecords,
|
||||
},
|
||||
headers: {
|
||||
'oak-message': message,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
body: {
|
||||
result,
|
||||
opRecords,
|
||||
},
|
||||
body: result,
|
||||
headers: {
|
||||
'oak-message': message,
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue