feat: add statusText support to BrunoResponse on safe mode

Enhance BrunoResponse with statusText functionality:
- Added `getStatusText()` method to BrunoResponse class
- Updated QuickJS shim to support statusText
This commit is contained in:
Pragadesh-45
2025-02-28 16:58:39 +05:30
committed by Anoop M D
parent 243398bcd0
commit 2385c4d5c1
3 changed files with 36 additions and 0 deletions

View File

@@ -21,6 +21,10 @@ class BrunoResponse {
return this.res ? this.res.status : null;
}
getStatusText() {
return this.res ? this.res.statusText : null;
}
getHeader(name) {
return this.res && this.res.headers ? this.res.headers[name] : null;
}

View File

@@ -6,11 +6,13 @@ const addBrunoResponseShimToContext = (vm, res) => {
});
const status = marshallToVm(res?.status, vm);
const statusText = marshallToVm(res?.statusText, vm);
const headers = marshallToVm(res?.headers, vm);
const body = marshallToVm(res?.body, vm);
const responseTime = marshallToVm(res?.responseTime, vm);
vm.setProp(resFn, 'status', status);
vm.setProp(resFn, 'statusText', statusText);
vm.setProp(resFn, 'headers', headers);
vm.setProp(resFn, 'body', body);
vm.setProp(resFn, 'responseTime', responseTime);
@@ -19,6 +21,13 @@ const addBrunoResponseShimToContext = (vm, res) => {
headers.dispose();
body.dispose();
responseTime.dispose();
statusText.dispose();
let getStatusText = vm.newFunction('getStatusText', function () {
return marshallToVm(res.getStatusText(), vm);
});
vm.setProp(resFn, 'getStatusText', getStatusText);
getStatusText.dispose();
let getStatus = vm.newFunction('getStatus', function () {
return marshallToVm(res.getStatus(), vm);

View File

@@ -0,0 +1,23 @@
meta {
name: getStatusText
type: http
seq: 6
}
get {
url: {{host}}/ping
body: none
auth: none
}
assert {
res.statusText: eq OK
res.body: eq pong
}
tests {
test("res.getStatusText()", function() {
const statusText = res.getStatusText()
expect(statusText).to.equal('OK');
});
}