From fbd7164baa8f68109d3f1109f8ca040a0e95516b Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Mon, 1 Jun 2026 05:12:22 +0000 Subject: [PATCH] docs: document OS-level PAC support and expanded Postman script translations --- get-started/configure/proxy-config.mdx | 6 +++++- .../import-export-data/script-translator.mdx | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/get-started/configure/proxy-config.mdx b/get-started/configure/proxy-config.mdx index ccffe8f2..0386c055 100644 --- a/get-started/configure/proxy-config.mdx +++ b/get-started/configure/proxy-config.mdx @@ -39,11 +39,15 @@ Bruno provides four options for proxy mode: - **Off**: Disables proxy usage. - **On**: Enables proxy and routes requests through a manually configured proxy. -- **System Proxy**: Uses the system-wide proxy settings. +- **System Proxy**: Uses the system-wide proxy settings, including any OS-level [PAC](https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file) URL configured on macOS, Windows, or Linux. - **PAC**: Uses a [Proxy Auto-Configuration (PAC)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file) file to determine the proxy for each request. Select **On** if you want to configure a custom proxy, or **PAC** if your network uses a PAC file for automatic proxy configuration. + +When **System Proxy** is selected, Bruno also honors any PAC URL configured at the OS level. The detected PAC URL is shown in the preferences panel (or `-` when unset). + + ## 3. Selecting Proxy Protocol Bruno supports different proxy protocols. Choose one of the following: diff --git a/get-started/import-export-data/script-translator.mdx b/get-started/import-export-data/script-translator.mdx index d82e95b4..4d03f345 100644 --- a/get-started/import-export-data/script-translator.mdx +++ b/get-started/import-export-data/script-translator.mdx @@ -27,6 +27,26 @@ The translator converts the following Postman `pm.*` APIs to their Bruno equival | `pm.expect(pm.response.responseTime).to.be.below(N)` | `expect(res.getResponseTime()).to.be.below(N)` | | `pm.response.to.have.header("name")` | `expect(res.getHeader("name")).to.exist` | | `pm.expect(x).to.eql(y)` | `expect(x).to.equal(y)` | +| `pm.response.to.be.ok` | `expect(res.getStatus()).to.be.within(200, 299)` | +| `pm.response.to.be.success` | `expect(res.getStatus()).to.be.within(200, 299)` | +| `pm.response.to.be.info` | `expect(res.getStatus()).to.be.within(100, 199)` | +| `pm.response.to.be.redirection` | `expect(res.getStatus()).to.be.within(300, 399)` | +| `pm.response.to.be.clientError` | `expect(res.getStatus()).to.be.within(400, 499)` | +| `pm.response.to.be.serverError` | `expect(res.getStatus()).to.be.within(500, 599)` | +| `pm.response.to.be.error` | `expect(res.getStatus()).to.be.at.least(400)` | +| `pm.response.to.be.accepted` | `expect(res.getStatus()).to.equal(202)` | +| `pm.response.to.be.badRequest` | `expect(res.getStatus()).to.equal(400)` | +| `pm.response.to.be.unauthorized` | `expect(res.getStatus()).to.equal(401)` | +| `pm.response.to.be.forbidden` | `expect(res.getStatus()).to.equal(403)` | +| `pm.response.to.be.notFound` | `expect(res.getStatus()).to.equal(404)` | +| `pm.response.to.be.rateLimited` | `expect(res.getStatus()).to.equal(429)` | +| `pm.response.to.be.withBody` | `expect(res.getBody()).to.not.equal(undefined)` | +| `pm.setNextRequest("name")` | `bru.runner.setNextRequest("name")` | +| `pm.setNextRequest(null)` | `bru.runner.stopExecution()` | + + + Negated forms of the status assertions above are also supported. Both positions of `.not` translate correctly — `pm.response.to.not.be.ok` and `pm.response.to.be.not.ok` both become `expect(res.getStatus()).to.not.be.within(200, 299)`. The same applies to `pm.response.to.not.have.status(...)`, `pm.response.to.not.have.header(...)`, and `pm.response.to.not.have.body(...)`. + Any `pm.*` calls not listed above are left unchanged in the translated output. These unsupported calls (such as `pm.sendRequest()`, `pm.cookies`, `pm.variables`, or `pm.iterationData`) will cause runtime errors in Bruno and need to be manually rewritten using the [Bruno scripting API](/testing/script/javascript-reference).