gitextract_14_o08yk/ ├── .coderabbit.yaml ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── BugReport.yaml │ │ ├── FeatureRequest.yaml │ │ └── config.yaml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── actions/ │ │ ├── common/ │ │ │ └── setup-node-deps/ │ │ │ └── action.yml │ │ ├── ssl/ │ │ │ ├── linux/ │ │ │ │ ├── run-basic-ssl-cli-tests/ │ │ │ │ │ └── action.yml │ │ │ │ ├── run-custom-ca-certs-cli-tests/ │ │ │ │ │ └── action.yml │ │ │ │ ├── run-ssl-e2e-tests/ │ │ │ │ │ └── action.yml │ │ │ │ ├── setup-ca-certs/ │ │ │ │ │ └── action.yml │ │ │ │ └── setup-feature-specific-deps/ │ │ │ │ └── action.yml │ │ │ ├── macos/ │ │ │ │ ├── run-basic-ssl-cli-tests/ │ │ │ │ │ └── action.yml │ │ │ │ ├── run-custom-ca-certs-cli-tests/ │ │ │ │ │ └── action.yml │ │ │ │ ├── run-ssl-e2e-tests/ │ │ │ │ │ └── action.yml │ │ │ │ ├── setup-ca-certs/ │ │ │ │ │ └── action.yml │ │ │ │ └── setup-feature-specific-deps/ │ │ │ │ └── action.yml │ │ │ └── windows/ │ │ │ ├── run-basic-ssl-cli-tests/ │ │ │ │ └── action.yml │ │ │ ├── run-custom-ca-certs-cli-tests/ │ │ │ │ └── action.yml │ │ │ ├── run-ssl-e2e-tests/ │ │ │ │ └── action.yml │ │ │ └── setup-ca-certs/ │ │ │ └── action.yml │ │ └── tests/ │ │ ├── run-cli-tests/ │ │ │ └── action.yml │ │ ├── run-e2e-tests/ │ │ │ └── action.yml │ │ └── run-unit-tests/ │ │ └── action.yml │ ├── dependabot.yml │ ├── scripts/ │ │ ├── comment-on-flaky-tests.js │ │ └── detect-flaky-tests.js │ └── workflows/ │ ├── flaky-test-detector.yml │ ├── lint-checks.yml │ ├── npm-bru-cli.yml │ ├── ssl-tests.yml │ └── tests.yml ├── .gitignore ├── .husky/ │ └── pre-commit ├── .nvmrc ├── CODING_STANDARDS.md ├── contributing.md ├── docs/ │ ├── contributing/ │ │ ├── contributing_bn.md │ │ ├── contributing_cn.md │ │ ├── contributing_de.md │ │ ├── contributing_es.md │ │ ├── contributing_fa.md │ │ ├── contributing_fr.md │ │ ├── contributing_hi.md │ │ ├── contributing_it.md │ │ ├── contributing_ja.md │ │ ├── contributing_kr.md │ │ ├── contributing_nl.md │ │ ├── contributing_pl.md │ │ ├── contributing_pt_br.md │ │ ├── contributing_ro.md │ │ ├── contributing_ru.md │ │ ├── contributing_sk.md │ │ ├── contributing_tr.md │ │ ├── contributing_ua.md │ │ └── contributing_zhtw.md │ ├── playwright-testing-guide.md │ ├── publishing/ │ │ ├── publishing_bn.md │ │ ├── publishing_cn.md │ │ ├── publishing_de.md │ │ ├── publishing_fa.md │ │ ├── publishing_fr.md │ │ ├── publishing_ja.md │ │ ├── publishing_nl.md │ │ ├── publishing_pl.md │ │ ├── publishing_pt_br.md │ │ ├── publishing_ro.md │ │ ├── publishing_tr.md │ │ └── publishing_zhtw.md │ └── readme/ │ ├── readme_ar.md │ ├── readme_bn.md │ ├── readme_cn.md │ ├── readme_de.md │ ├── readme_es.md │ ├── readme_fa.md │ ├── readme_fr.md │ ├── readme_hi.md │ ├── readme_it.md │ ├── readme_ja.md │ ├── readme_ka.md │ ├── readme_kr.md │ ├── readme_nl.md │ ├── readme_pl.md │ ├── readme_pt_br.md │ ├── readme_ro.md │ ├── readme_ru.md │ ├── readme_tr.md │ ├── readme_ua.md │ └── readme_zhtw.md ├── eslint.config.js ├── license.md ├── package.json ├── packages/ │ ├── bruno-app/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── babel.config.js │ │ ├── jest.config.js │ │ ├── jest.setup.js │ │ ├── jsconfig.json │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── public/ │ │ │ ├── static/ │ │ │ │ └── diff2Html.js │ │ │ └── theme/ │ │ │ ├── dark.js │ │ │ ├── index.js │ │ │ └── light.js │ │ ├── rsbuild.config.mjs │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ ├── Accordion/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── styledWrapper.js │ │ │ │ ├── ApiSpecPanel/ │ │ │ │ │ ├── FileEditor/ │ │ │ │ │ │ └── CodeEditor/ │ │ │ │ │ │ ├── Plugins/ │ │ │ │ │ │ │ └── Yaml/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Renderers/ │ │ │ │ │ │ └── Swagger/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── SpecViewer.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── AppTitleBar/ │ │ │ │ │ ├── AppMenu/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── BodyModeSelector/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Bruno/ │ │ │ │ │ └── index.js │ │ │ │ ├── BrunoSupport/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── BulkEditor/ │ │ │ │ │ └── index.js │ │ │ │ ├── Checkbox/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── CodeEditor/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.spec.js │ │ │ │ ├── CodeMirrorSearch/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── CollectionSettings/ │ │ │ │ │ ├── Auth/ │ │ │ │ │ │ ├── ApiKeyAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── AuthMode/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── AwsV4Auth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── BasicAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── BearerAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── DigestAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── NTLMAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── OAuth2/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── WsseAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ClientCertSettings/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Docs/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Headers/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Overview/ │ │ │ │ │ │ ├── Info/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── RequestsNotLoaded/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Presets/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Protobuf/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ProxySettings/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Script/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── Tests/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Vars/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── VarsTable/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── ColorBadge/ │ │ │ │ │ └── index.js │ │ │ │ ├── ColorPicker/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── ColorRange/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Cookies/ │ │ │ │ │ ├── ModifyCookieModal/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── CreateTransientRequest/ │ │ │ │ │ └── index.js │ │ │ │ ├── CreateUntitledRequest/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── DeprecationWarning/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Devtools/ │ │ │ │ │ ├── Console/ │ │ │ │ │ │ ├── DebugTab/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ErrorDetailsPanel/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── NetworkTab/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── RequestDetailsPanel/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── TerminalTab/ │ │ │ │ │ │ │ ├── SessionList.js │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Performance/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── Documentation/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Dropdown/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── EditableTable/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── EnvironmentVariablesTable/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Environments/ │ │ │ │ │ ├── CollapsibleSection/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Common/ │ │ │ │ │ │ ├── ExportEnvironmentModal/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── ImportEnvironmentModal/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ConfirmCloseEnvironment/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── DotEnvFileDetails/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── DotEnvFileEditor/ │ │ │ │ │ │ ├── DotEnvEmptyState.js │ │ │ │ │ │ ├── DotEnvErrorMessage.js │ │ │ │ │ │ ├── DotEnvRawView.js │ │ │ │ │ │ ├── DotEnvTableView.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── utils.js │ │ │ │ │ ├── EnvironmentSelector/ │ │ │ │ │ │ ├── EnvironmentListContent/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── EnvironmentSettings/ │ │ │ │ │ │ ├── CopyEnvironment/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── CreateEnvironment/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── DeleteDotEnvFile/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── DeleteEnvironment/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── EnvironmentList/ │ │ │ │ │ │ │ ├── EnvironmentDetails/ │ │ │ │ │ │ │ │ ├── EnvironmentVariables/ │ │ │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── GlobalEnvironmentSettings/ │ │ │ │ │ └── index.js │ │ │ │ ├── ErrorCapture/ │ │ │ │ │ └── index.js │ │ │ │ ├── Errors/ │ │ │ │ │ └── IpcErrorModal/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── FilePickerEditor/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── FolderSettings/ │ │ │ │ │ ├── Auth/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── AuthMode/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Documentation/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Headers/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Script/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── Tests/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Vars/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── VarsTable/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── Git/ │ │ │ │ │ ├── GitNotFoundModal/ │ │ │ │ │ │ └── index.js │ │ │ │ │ └── VisualDiffViewer/ │ │ │ │ │ ├── CollapsibleDiffRow.js │ │ │ │ │ ├── VisualDiffAuth.js │ │ │ │ │ ├── VisualDiffBody.js │ │ │ │ │ ├── VisualDiffContent/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── VisualDiffHeaders.js │ │ │ │ │ ├── VisualDiffParams.js │ │ │ │ │ ├── VisualDiffUrlBar.js │ │ │ │ │ └── utils/ │ │ │ │ │ ├── bruUtils.js │ │ │ │ │ ├── bruUtils.spec.js │ │ │ │ │ ├── diffUtils.js │ │ │ │ │ └── diffUtils.spec.js │ │ │ │ ├── GlobalSearchModal/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── utils/ │ │ │ │ │ └── searchUtils.js │ │ │ │ ├── Help/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Icons/ │ │ │ │ │ ├── CloseAll/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Dot/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ExampleIcon/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Grpc/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── IconAlertTriangleFilled/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── IconBottombarToggle/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── IconCaretDown/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── IconCheckMark/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── IconEdit/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── IconSidebarToggle/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── InfoCircle/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── OpenAPILogo/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── OpenAPISync/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── OpenCollectionIcon/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── QuestionCircle/ │ │ │ │ │ │ └── index.js │ │ │ │ │ └── Send/ │ │ │ │ │ └── index.js │ │ │ │ ├── InfoTip/ │ │ │ │ │ └── index.js │ │ │ │ ├── InheritableSettingsInput/ │ │ │ │ │ └── index.js │ │ │ │ ├── ManageWorkspace/ │ │ │ │ │ ├── DeleteWorkspace/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RenameWorkspace/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── MarkDown/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.jsx │ │ │ │ ├── Modal/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── MultiLineEditor/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Notifications/ │ │ │ │ │ ├── StyleWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── OpenAPISpecTab/ │ │ │ │ │ └── index.js │ │ │ │ ├── OpenAPISyncTab/ │ │ │ │ │ ├── CollectionStatusSection/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ConfirmSyncModal/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ConnectSpecForm/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ConnectionSettingsModal/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── DisconnectSyncModal/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── EndpointChangeSection/ │ │ │ │ │ │ ├── EndpointItem.js │ │ │ │ │ │ ├── EndpointVisualDiff.js │ │ │ │ │ │ ├── ExpandableEndpointRow.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── OpenAPISyncHeader/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── OverviewSection/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── SpecDiffModal/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── SpecStatusSection/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── SyncReviewPage/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── useEndpointActions.js │ │ │ │ │ │ ├── useOpenAPISync.js │ │ │ │ │ │ └── useSyncFlow.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── utils.js │ │ │ │ ├── PathDisplay/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Portal/ │ │ │ │ │ └── index.js │ │ │ │ ├── Preferences/ │ │ │ │ │ ├── Beta/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Cache/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Display/ │ │ │ │ │ │ ├── Font/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── Theme/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── Zoom/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── General/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Keybindings/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ProxySettings/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── SystemProxy/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── Support/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Themes/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── RadioButton/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── ReorderTable/ │ │ │ │ │ └── index.js │ │ │ │ ├── RequestPane/ │ │ │ │ │ ├── Assertions/ │ │ │ │ │ │ ├── AssertionOperator/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── AssertionRow/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Auth/ │ │ │ │ │ │ ├── ApiKeyAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── AuthMode/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── AwsV4Auth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── BasicAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── BearerAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── DigestAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── NTLMAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── OAuth2/ │ │ │ │ │ │ │ ├── AdditionalParams/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── AuthorizationCode/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── inputsConfig.js │ │ │ │ │ │ │ ├── ClientCredentials/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── inputsConfig.js │ │ │ │ │ │ │ ├── GrantTypeSelector/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── Implicit/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── inputsConfig.js │ │ │ │ │ │ │ ├── Oauth2ActionButtons/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── Oauth2TokenViewer/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── PasswordCredentials/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── inputsConfig.js │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── WsseAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── FileBody/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── FormUrlEncodedParams/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── GraphQLRequestPane/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── GraphQLSchemaActions/ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── useGraphqlSchema.js │ │ │ │ │ ├── GraphQLVariables/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── GrpcBody/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── GrpcQueryUrl/ │ │ │ │ │ │ ├── GrpcurlModal/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── MethodDropdown/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ProtoFileDropdown/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── Tabs/ │ │ │ │ │ │ │ ├── ImportPathsTab/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── ProtoFilesTab/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── TabNavigation/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── GrpcRequestPane/ │ │ │ │ │ │ ├── GrpcAuth/ │ │ │ │ │ │ │ ├── GrpcAuthMode/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── HttpRequestPane/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── MultipartFormParams/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── PromptVariables/ │ │ │ │ │ │ └── PromptVariablesModal/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── QueryEditor/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── onHasCompletion.js │ │ │ │ │ ├── QueryParams/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── QueryUrl/ │ │ │ │ │ │ ├── HttpMethodSelector/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── index.spec.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RequestBody/ │ │ │ │ │ │ ├── RequestBodyMode/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RequestHeaders/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Script/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Settings/ │ │ │ │ │ │ ├── Tags/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ToggleSelector/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Tests/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Vars/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── VarsTable/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── WSRequestPane/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── WSAuth/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ ├── WSAuthMode/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── WSSettingsPane/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── WsBody/ │ │ │ │ │ │ ├── BodyMode/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── SingleWSMessage/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── WsQueryUrl/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── RequestTabPanel/ │ │ │ │ │ ├── ExampleNotFound/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── FolderNotFound/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RequestIsLoading/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RequestNotFound/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RequestNotLoaded/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── RequestTabs/ │ │ │ │ │ ├── CollectionHeader/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── DraggableTab.js │ │ │ │ │ ├── ExampleTab/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RequestTab/ │ │ │ │ │ │ ├── CloseTabIcon.js │ │ │ │ │ │ ├── ConfirmCollectionClose/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ConfirmFolderClose/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ConfirmRequestClose/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── DraftTabIcon.js │ │ │ │ │ │ ├── GradientCloseButton/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── RequestTabNotFound.js │ │ │ │ │ │ ├── SpecialTab.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── ResponseExample/ │ │ │ │ │ ├── CreateExampleModal/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseExampleRequestPane/ │ │ │ │ │ │ ├── ResponseExampleBody/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleBodyMode/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleBodyRenderer/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleDescription/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleFileBody/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleFormUrlEncodedParams/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleHeaders/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleMultipartFormParams/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleParams/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleUrlBar/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseExampleResponsePane/ │ │ │ │ │ │ ├── ResponseExampleResponseContent/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleResponseHeaders/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseExampleStatusInput/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseExampleTopBar/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── ResponsePane/ │ │ │ │ │ ├── ClearTimeline/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── GrpcResponsePane/ │ │ │ │ │ │ ├── GrpcError/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── GrpcQueryResult/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── GrpcResponseHeaders/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── GrpcStatusCode/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ ├── get-grpc-status-code-phrase.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ResponseTrailers/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── LargeResponseWarning/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── NetworkError/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Overlay/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Placeholder/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── QueryResponse/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── QueryResult/ │ │ │ │ │ │ ├── QueryResultFilter/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── QueryResultPreview/ │ │ │ │ │ │ │ ├── HtmlPreview.js │ │ │ │ │ │ │ ├── JsonPreview.js │ │ │ │ │ │ │ ├── TextPreview.js │ │ │ │ │ │ │ ├── VideoPreview.js │ │ │ │ │ │ │ ├── XmlPreview/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── QueryResultTypeSelector/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.jsx │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseActions/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseBookmark/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseClear/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseCopy/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseDownload/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseHeaders/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseLayoutToggle/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── index.spec.js │ │ │ │ │ ├── ResponsePaneActions/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseSize/ │ │ │ │ │ │ ├── ResponseSize.spec.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseStopWatch/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResponseTime/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RunnerTimeline/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ScriptError/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ScriptErrorIcon/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── SkippedRequest/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StatusCode/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── get-status-code-phrase.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── TestResults/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── TestResultsLabel/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Timeline/ │ │ │ │ │ │ ├── GrpcTimelineItem/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── TimelineItem/ │ │ │ │ │ │ │ ├── Common/ │ │ │ │ │ │ │ │ ├── Body/ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── Headers/ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── Method/ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── Status/ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ └── Time/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── Network/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── Request/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── Response/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── WsResponsePane/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── WSMessagesList/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── WSResponseHeaders/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── WSResponseSortOrder/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── WSStatusCode/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ ├── get-ws-status-code-phrase.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── RunnerResults/ │ │ │ │ │ ├── ResponsePane/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RunConfigurationPanel/ │ │ │ │ │ │ ├── StyledWrapper.jsx │ │ │ │ │ │ └── index.jsx │ │ │ │ │ ├── RunnerTags/ │ │ │ │ │ │ └── index.jsx │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.jsx │ │ │ │ ├── SaveTransientRequest/ │ │ │ │ │ ├── CollectionListItem/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Container.js │ │ │ │ │ ├── FolderBreadcrumbs/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── SearchInput/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── SecuritySettings/ │ │ │ │ │ └── JsSandboxMode/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── SensitiveFieldWarning/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── SettingsInput/ │ │ │ │ │ └── index.js │ │ │ │ ├── ShareCollection/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Sidebar/ │ │ │ │ │ ├── ApiSpecs/ │ │ │ │ │ │ ├── ApiSpecItem/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── CloseApiSpec/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── CreateApiSpec/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── BulkImportCollectionLocation/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── index.spec.js │ │ │ │ │ ├── CloneGitRespository/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── CloseWorkspace/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Collections/ │ │ │ │ │ │ ├── Collection/ │ │ │ │ │ │ │ ├── CloneCollection/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── CollectionItem/ │ │ │ │ │ │ │ │ ├── CloneCollectionItem/ │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── CollectionItemDragPreview/ │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── CollectionItemIcon/ │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── CollectionItemInfo/ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── DeleteCollectionItem/ │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── ExampleItem/ │ │ │ │ │ │ │ │ │ ├── DeleteResponseExampleModal/ │ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── GenerateCodeItem/ │ │ │ │ │ │ │ │ │ ├── CodeView/ │ │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ │ ├── CodeViewToolbar/ │ │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ │ │ ├── interpolation.js │ │ │ │ │ │ │ │ │ ├── interpolation.spec.js │ │ │ │ │ │ │ │ │ ├── snippet-generator.js │ │ │ │ │ │ │ │ │ └── snippet-generator.spec.js │ │ │ │ │ │ │ │ ├── RenameCollectionItem/ │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── RequestMethod/ │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── RunCollectionItem/ │ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── DeleteCollection/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── GenerateDocumentation/ │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── RemoveCollection/ │ │ │ │ │ │ │ │ ├── ConfirmCollectionCloseDrafts.js │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── RenameCollection/ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── CollectionSearch/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── CreateOrOpenCollection/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── InlineCollectionCreator/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── RemoveCollectionsModal/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── SelectCollection/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── CreateCollection/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── GoldenEdition/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ImportCollection/ │ │ │ │ │ │ ├── FileTab.js │ │ │ │ │ │ ├── FullscreenLoader/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── GitHubTab.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ ├── UrlTab.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ImportCollectionLocation/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── NewFolder/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── NewRequest/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── Sections/ │ │ │ │ │ │ ├── ApiSpecsSection/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── CollectionsSection/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── SidebarAccordionContext.js │ │ │ │ │ ├── SidebarContent.js │ │ │ │ │ ├── SidebarSection/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── SingleLineEditor/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Spinner/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── StatusBar/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── ThemeDropdown/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── StatusDot/ │ │ │ │ │ └── index.js │ │ │ │ ├── StopWatch/ │ │ │ │ │ └── index.js │ │ │ │ ├── Tab/ │ │ │ │ │ └── index.js │ │ │ │ ├── Table/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Tabs/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── TagList/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── ToggleSwitch/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── ToolHint/ │ │ │ │ │ └── index.js │ │ │ │ ├── TruncatedText/ │ │ │ │ │ └── index.js │ │ │ │ ├── VariablesEditor/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── WelcomeModal/ │ │ │ │ │ ├── GetStartedStep/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StorageStep/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── ThemeStep/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── WelcomeStep/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── WorkspaceHome/ │ │ │ │ │ ├── WorkspaceDocs/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── WorkspaceEnvironments/ │ │ │ │ │ │ ├── CopyEnvironment/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── CreateEnvironment/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── DeleteEnvironment/ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── EnvironmentList/ │ │ │ │ │ │ │ ├── ConfirmSwitchEnv.js │ │ │ │ │ │ │ ├── EnvironmentDetails/ │ │ │ │ │ │ │ │ ├── EnvironmentVariables/ │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── ImportEnvironment/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── RenameEnvironment/ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ └── WorkspaceOverview/ │ │ │ │ │ ├── CollectionsList/ │ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ └── WorkspaceSidebar/ │ │ │ │ ├── CreateWorkspace/ │ │ │ │ │ └── index.js │ │ │ │ └── ImportWorkspace/ │ │ │ │ └── index.js │ │ │ ├── globalStyles.js │ │ │ ├── hooks/ │ │ │ │ ├── useCollectionFolderTree/ │ │ │ │ │ └── index.js │ │ │ │ ├── useDebounce/ │ │ │ │ │ └── index.js │ │ │ │ ├── useDeferredLoading/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.spec.js │ │ │ │ ├── useDetectSensitiveField/ │ │ │ │ │ └── index.js │ │ │ │ ├── useFocusTrap/ │ │ │ │ │ └── index.js │ │ │ │ ├── useLocalStorage/ │ │ │ │ │ └── index.js │ │ │ │ ├── useOnClickOutside/ │ │ │ │ │ └── index.js │ │ │ │ ├── usePrevious/ │ │ │ │ │ └── index.js │ │ │ │ ├── useProtoFileManagement/ │ │ │ │ │ └── index.js │ │ │ │ ├── useReflectionManagement/ │ │ │ │ │ └── index.js │ │ │ │ └── useTabPaneBoundaries/ │ │ │ │ └── index.js │ │ │ ├── i18n/ │ │ │ │ ├── index.js │ │ │ │ └── translation/ │ │ │ │ └── en.json │ │ │ ├── index.js │ │ │ ├── pages/ │ │ │ │ ├── Bruno/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── ErrorBoundary/ │ │ │ │ │ └── index.js │ │ │ │ ├── Main.js │ │ │ │ └── index.js │ │ │ ├── providers/ │ │ │ │ ├── App/ │ │ │ │ │ ├── ConfirmAppClose/ │ │ │ │ │ │ ├── SaveRequestsModal.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── useIpcEvents.js │ │ │ │ │ ├── useOpenAPISyncPolling.js │ │ │ │ │ └── useTelemetry.js │ │ │ │ ├── Hotkeys/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── keyMappings.js │ │ │ │ ├── PromptVariables/ │ │ │ │ │ └── index.js │ │ │ │ ├── ReduxStore/ │ │ │ │ │ ├── index.js │ │ │ │ │ ├── middlewares/ │ │ │ │ │ │ ├── autosave/ │ │ │ │ │ │ │ └── middleware.js │ │ │ │ │ │ ├── debug/ │ │ │ │ │ │ │ └── middleware.js │ │ │ │ │ │ ├── draft/ │ │ │ │ │ │ │ ├── middleware.js │ │ │ │ │ │ │ └── utils.js │ │ │ │ │ │ └── tasks/ │ │ │ │ │ │ ├── middleware.js │ │ │ │ │ │ └── utils.js │ │ │ │ │ └── slices/ │ │ │ │ │ ├── apiSpec.js │ │ │ │ │ ├── app.js │ │ │ │ │ ├── collections/ │ │ │ │ │ │ ├── actions.js │ │ │ │ │ │ ├── exampleReducers.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── global-environments.js │ │ │ │ │ ├── logs.js │ │ │ │ │ ├── notifications.js │ │ │ │ │ ├── notifications.spec.js │ │ │ │ │ ├── openapi-sync.js │ │ │ │ │ ├── performance.js │ │ │ │ │ ├── tabs.js │ │ │ │ │ └── workspaces/ │ │ │ │ │ ├── actions.js │ │ │ │ │ ├── getTabToFocusForCurrentWorkspace.js │ │ │ │ │ ├── getTabToFocusForCurrentWorkspace.spec.js │ │ │ │ │ └── index.js │ │ │ │ ├── Theme/ │ │ │ │ │ └── index.js │ │ │ │ └── Toaster/ │ │ │ │ └── index.js │ │ │ ├── selectors/ │ │ │ │ └── tab.js │ │ │ ├── styles/ │ │ │ │ └── globals.css │ │ │ ├── test-utils/ │ │ │ │ └── mocks/ │ │ │ │ └── codemirror.js │ │ │ ├── themes/ │ │ │ │ ├── DesignSystem/ │ │ │ │ │ ├── DesignSystem.stories.jsx │ │ │ │ │ ├── Overview.jsx │ │ │ │ │ └── Theme.stories.jsx │ │ │ │ ├── PaletteViewer/ │ │ │ │ │ ├── Catppuccin.stories.jsx │ │ │ │ │ └── components.jsx │ │ │ │ ├── dark/ │ │ │ │ │ ├── catppuccin-frappe.js │ │ │ │ │ ├── catppuccin-macchiato.js │ │ │ │ │ ├── catppuccin-mocha.js │ │ │ │ │ ├── dark-monochrome.js │ │ │ │ │ ├── dark-pastel.js │ │ │ │ │ ├── dark.js │ │ │ │ │ ├── nord.js │ │ │ │ │ └── vscode.js │ │ │ │ ├── index.js │ │ │ │ ├── light/ │ │ │ │ │ ├── catppuccin-latte.js │ │ │ │ │ ├── light-monochrome.js │ │ │ │ │ ├── light-pastel.js │ │ │ │ │ ├── light.js │ │ │ │ │ └── vscode.js │ │ │ │ └── schema/ │ │ │ │ ├── index.js │ │ │ │ └── oss.js │ │ │ ├── ui/ │ │ │ │ ├── ActionIcon/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── Button/ │ │ │ │ │ ├── Button.stories.jsx │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── ErrorBanner/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── HeightBoundContainer/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── MenuDropdown/ │ │ │ │ │ ├── SubMenuItem/ │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── MethodBadge/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ ├── ResponsiveTabs/ │ │ │ │ │ ├── StyledWrapper.js │ │ │ │ │ └── index.js │ │ │ │ └── StatusBadge/ │ │ │ │ ├── StyledWrapper.js │ │ │ │ └── index.js │ │ │ └── utils/ │ │ │ ├── auth/ │ │ │ │ ├── index.js │ │ │ │ └── index.spec.js │ │ │ ├── beta-features.js │ │ │ ├── bruno-clipboard.js │ │ │ ├── codegenerator/ │ │ │ │ ├── auth.js │ │ │ │ ├── har.js │ │ │ │ └── targets.js │ │ │ ├── codemirror/ │ │ │ │ ├── autocomplete.js │ │ │ │ ├── autocomplete.spec.js │ │ │ │ ├── autocompleteConstants.js │ │ │ │ ├── brunoVarInfo.js │ │ │ │ ├── brunoVarInfo.spec.js │ │ │ │ ├── javascript-lint.js │ │ │ │ ├── lang-detect.js │ │ │ │ ├── linkAware.js │ │ │ │ ├── linkAware.spec.js │ │ │ │ ├── lint-errors.js │ │ │ │ └── mock-data-hints.js │ │ │ ├── collections/ │ │ │ │ ├── emptyStateRequest.js │ │ │ │ ├── export.js │ │ │ │ ├── index.js │ │ │ │ ├── index.spec.js │ │ │ │ └── search.js │ │ │ ├── common/ │ │ │ │ ├── bulkKeyValueUtils.js │ │ │ │ ├── codemirror.js │ │ │ │ ├── constants.js │ │ │ │ ├── error.js │ │ │ │ ├── folders-requests-sorting.spec.js │ │ │ │ ├── format-response.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── index.spec.js │ │ │ │ ├── ipc.js │ │ │ │ ├── masked-editor.js │ │ │ │ ├── path.js │ │ │ │ ├── path.spec.js │ │ │ │ ├── path.windows.spec.js │ │ │ │ ├── platform.js │ │ │ │ ├── regex.js │ │ │ │ ├── regex.spec.js │ │ │ │ └── setupPolyfills.js │ │ │ ├── curl/ │ │ │ │ ├── content-type.js │ │ │ │ ├── curl-to-json.js │ │ │ │ ├── curl-to-json.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── parse-curl.js │ │ │ │ └── parse-curl.spec.js │ │ │ ├── environments.js │ │ │ ├── exporters/ │ │ │ │ ├── bruno-environment.js │ │ │ │ ├── openapi-spec.js │ │ │ │ ├── openapi-spec.spec.js │ │ │ │ ├── opencollection.js │ │ │ │ └── postman-collection.js │ │ │ ├── filesystem.js │ │ │ ├── git/ │ │ │ │ ├── index.js │ │ │ │ └── index.spec.js │ │ │ ├── idb/ │ │ │ │ └── index.js │ │ │ ├── importers/ │ │ │ │ ├── bruno-collection.js │ │ │ │ ├── bruno-environment.js │ │ │ │ ├── common.js │ │ │ │ ├── file-reader.js │ │ │ │ ├── insomnia-collection.js │ │ │ │ ├── openapi-collection.js │ │ │ │ ├── opencollection.js │ │ │ │ ├── postman-collection.js │ │ │ │ ├── postman-environment.js │ │ │ │ └── wsdl-collection.js │ │ │ ├── network/ │ │ │ │ ├── cancelTokens.js │ │ │ │ ├── grpc-event-listeners.js │ │ │ │ ├── index.js │ │ │ │ └── ws-event-listeners.js │ │ │ ├── response/ │ │ │ │ └── index.js │ │ │ ├── responseBodyProcessor.js │ │ │ ├── tabs/ │ │ │ │ └── index.js │ │ │ ├── terminal.js │ │ │ ├── tests/ │ │ │ │ └── collections/ │ │ │ │ ├── examples-export-import.spec.js │ │ │ │ ├── grpc-export-import.spec.js │ │ │ │ └── items-sequencing.spec.js │ │ │ ├── url/ │ │ │ │ ├── index.js │ │ │ │ └── index.spec.js │ │ │ └── workspaces/ │ │ │ └── index.js │ │ ├── storybook/ │ │ │ ├── main.js │ │ │ └── preview.jsx │ │ └── tailwind.config.js │ ├── bruno-cli/ │ │ ├── .gitignore │ │ ├── bin/ │ │ │ └── bru.js │ │ ├── changelog.md │ │ ├── examples/ │ │ │ ├── report.html │ │ │ └── report.json │ │ ├── license.md │ │ ├── package.json │ │ ├── readme.md │ │ ├── src/ │ │ │ ├── commands/ │ │ │ │ ├── import.js │ │ │ │ └── run.js │ │ │ ├── constants.js │ │ │ ├── index.js │ │ │ ├── reporters/ │ │ │ │ ├── html.js │ │ │ │ └── junit.js │ │ │ ├── runner/ │ │ │ │ ├── awsv4auth-helper.js │ │ │ │ ├── interpolate-string.js │ │ │ │ ├── interpolate-vars.js │ │ │ │ ├── prepare-request.js │ │ │ │ └── run-single-request.js │ │ │ ├── store/ │ │ │ │ └── tokenStore.js │ │ │ └── utils/ │ │ │ ├── axios-instance.js │ │ │ ├── bru.js │ │ │ ├── collection.js │ │ │ ├── common.js │ │ │ ├── cookies.js │ │ │ ├── environment.js │ │ │ ├── filesystem.js │ │ │ ├── form-data.js │ │ │ ├── oauth2.js │ │ │ ├── proxy-util.js │ │ │ ├── request.js │ │ │ ├── run.js │ │ │ └── sanitize-results.js │ │ └── tests/ │ │ ├── reporters/ │ │ │ ├── html.spec.js │ │ │ ├── junit.spec.js │ │ │ └── skip-body.spec.js │ │ ├── runner/ │ │ │ ├── collection-json-from-pathname.spec.js │ │ │ ├── fixtures/ │ │ │ │ ├── collection-json-from-pathname/ │ │ │ │ │ └── collection/ │ │ │ │ │ ├── bruno.json │ │ │ │ │ ├── collection.bru │ │ │ │ │ ├── folder_1/ │ │ │ │ │ │ ├── folder.bru │ │ │ │ │ │ ├── folder_1/ │ │ │ │ │ │ │ ├── folder.bru │ │ │ │ │ │ │ ├── request_1.bru │ │ │ │ │ │ │ ├── request_2.bru │ │ │ │ │ │ │ └── request_3.bru │ │ │ │ │ │ ├── folder_2/ │ │ │ │ │ │ │ ├── folder.bru │ │ │ │ │ │ │ ├── request_1.bru │ │ │ │ │ │ │ ├── request_2.bru │ │ │ │ │ │ │ └── request_3.bru │ │ │ │ │ │ ├── request_1.bru │ │ │ │ │ │ ├── request_2.bru │ │ │ │ │ │ └── request_3.bru │ │ │ │ │ ├── folder_2/ │ │ │ │ │ │ ├── folder.bru │ │ │ │ │ │ ├── request_1.bru │ │ │ │ │ │ ├── request_2.bru │ │ │ │ │ │ └── request_3.bru │ │ │ │ │ ├── request_1.bru │ │ │ │ │ ├── request_2.bru │ │ │ │ │ └── request_3.bru │ │ │ │ └── opencollection/ │ │ │ │ └── collection/ │ │ │ │ ├── environments/ │ │ │ │ │ └── dev.yml │ │ │ │ ├── get-users.yml │ │ │ │ ├── opencollection.yml │ │ │ │ └── users/ │ │ │ │ ├── create-user.yml │ │ │ │ └── folder.yml │ │ │ ├── prepare-request.spec.js │ │ │ └── report-metadata.spec.js │ │ └── utils/ │ │ ├── collection/ │ │ │ ├── create-collection-from-bruno-object.spec.js │ │ │ └── get-call-stack.spec.js │ │ ├── common.spec.js │ │ ├── filesystem.spec.js │ │ └── parse-environment-json.spec.js │ ├── bruno-common/ │ │ ├── .gitignore │ │ ├── babel.config.js │ │ ├── jest.config.js │ │ ├── license.md │ │ ├── package.json │ │ ├── readme.md │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── example-status/ │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── interpolate/ │ │ │ │ ├── index.spec.ts │ │ │ │ └── index.ts │ │ │ ├── runner/ │ │ │ │ ├── index.ts │ │ │ │ ├── reports/ │ │ │ │ │ └── html/ │ │ │ │ │ ├── generate-report.ts │ │ │ │ │ └── template.ts │ │ │ │ ├── runner-summary.ts │ │ │ │ ├── types/ │ │ │ │ │ └── index.ts │ │ │ │ └── utils/ │ │ │ │ └── index.ts │ │ │ ├── tags/ │ │ │ │ ├── index.spec.ts │ │ │ │ └── index.ts │ │ │ ├── utils/ │ │ │ │ ├── faker-functions.spec.ts │ │ │ │ ├── faker-functions.ts │ │ │ │ ├── form-data.spec.ts │ │ │ │ ├── form-data.ts │ │ │ │ ├── index.ts │ │ │ │ ├── prompt-variables.spec.ts │ │ │ │ ├── prompt-variables.ts │ │ │ │ ├── template-hasher.spec.ts │ │ │ │ ├── template-hasher.ts │ │ │ │ └── url/ │ │ │ │ ├── index.spec.ts │ │ │ │ └── index.ts │ │ │ └── zoom/ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── bruno-converters/ │ │ ├── .gitignore │ │ ├── babel.config.js │ │ ├── jest.config.js │ │ ├── jest.setup.js │ │ ├── license.md │ │ ├── package.json │ │ ├── readme.md │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── common/ │ │ │ │ └── index.js │ │ │ ├── constants/ │ │ │ │ ├── index.js │ │ │ │ └── regex.js │ │ │ ├── index.js │ │ │ ├── insomnia/ │ │ │ │ ├── env-utils.js │ │ │ │ └── insomnia-to-bruno.js │ │ │ ├── openapi/ │ │ │ │ └── openapi-to-bruno.js │ │ │ ├── opencollection/ │ │ │ │ ├── bruno-to-opencollection.ts │ │ │ │ ├── common/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── assertions.ts │ │ │ │ │ ├── auth.ts │ │ │ │ │ ├── body.ts │ │ │ │ │ ├── headers.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── params.ts │ │ │ │ │ ├── scripts.ts │ │ │ │ │ └── variables.ts │ │ │ │ ├── environment.ts │ │ │ │ ├── folder.ts │ │ │ │ ├── index.ts │ │ │ │ ├── items/ │ │ │ │ │ ├── graphql.ts │ │ │ │ │ ├── grpc.ts │ │ │ │ │ ├── http.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── websocket.ts │ │ │ │ ├── opencollection-to-bruno.ts │ │ │ │ └── types.ts │ │ │ ├── postman/ │ │ │ │ ├── bruno-to-postman.js │ │ │ │ ├── postman-env-to-bruno-env.js │ │ │ │ ├── postman-to-bruno.js │ │ │ │ └── postman-translations.js │ │ │ ├── utils/ │ │ │ │ ├── ast-utils.js │ │ │ │ ├── bruno-send-request-transformer.js │ │ │ │ ├── bruno-to-postman-translator.js │ │ │ │ ├── flatten.js │ │ │ │ ├── postman-to-bruno-translator.js │ │ │ │ └── send-request-transformer.js │ │ │ ├── workers/ │ │ │ │ ├── postman-translator-worker.js │ │ │ │ └── scripts/ │ │ │ │ └── translate-postman-scripts.js │ │ │ └── wsdl/ │ │ │ └── wsdl-to-bruno.js │ │ ├── tests/ │ │ │ ├── bruno/ │ │ │ │ ├── bruno-to-postman-translations/ │ │ │ │ │ ├── cookies.test.js │ │ │ │ │ ├── environment.test.js │ │ │ │ │ ├── execution.test.js │ │ │ │ │ ├── request.test.js │ │ │ │ │ ├── response.test.js │ │ │ │ │ ├── send-request.test.js │ │ │ │ │ ├── testing-framework.test.js │ │ │ │ │ └── variables.test.js │ │ │ │ └── bruno-to-postman-with-tests.spec.js │ │ │ ├── common/ │ │ │ │ └── sanitizeTag.spec.js │ │ │ ├── insomnia/ │ │ │ │ ├── env-utils.spec.js │ │ │ │ ├── insomnia-collection-v5.spec.js │ │ │ │ └── insomnia-collection.spec.js │ │ │ ├── openapi/ │ │ │ │ ├── openapi-to-bruno/ │ │ │ │ │ ├── openapi-auth.spec.js │ │ │ │ │ ├── openapi-body.spec.js │ │ │ │ │ ├── openapi-circular-references.spec.js │ │ │ │ │ ├── openapi-import-grouping.spec.js │ │ │ │ │ ├── openapi-path-parameters.spec.js │ │ │ │ │ ├── openapi-server-variables.spec.js │ │ │ │ │ ├── openapi-tags.spec.js │ │ │ │ │ ├── openapi-to-bruno.spec.js │ │ │ │ │ └── path-based-grouping-duplicate-names.spec.js │ │ │ │ └── openapi-with-examples.spec.js │ │ │ ├── postman/ │ │ │ │ ├── bruno-to-postman-with-examples.spec.js │ │ │ │ ├── bruno-to-postman.spec.js │ │ │ │ ├── postman-env-to-bruno-env.spec.js │ │ │ │ ├── postman-to-bruno/ │ │ │ │ │ ├── collection-auth.spec.js │ │ │ │ │ ├── folder-auth.spec.js │ │ │ │ │ ├── postman-to-bruno.spec.js │ │ │ │ │ ├── postman-translations/ │ │ │ │ │ │ ├── postman-request.spec.js │ │ │ │ │ │ └── postman-response.spec.js │ │ │ │ │ ├── process-auth.spec.js │ │ │ │ │ ├── request-auth.spec.js │ │ │ │ │ └── transform-description.spec.js │ │ │ │ └── postman-translations/ │ │ │ │ ├── postman-comments.spec.js │ │ │ │ ├── postman-cookie-conversions.spec.js │ │ │ │ ├── postman-edge-cases.spec.js │ │ │ │ ├── postman-test-commands.spec.js │ │ │ │ ├── postman-variables.spec.js │ │ │ │ └── transpiler-tests/ │ │ │ │ ├── combined.test.js │ │ │ │ ├── environment.test.js │ │ │ │ ├── exec-flow.test.js │ │ │ │ ├── legacy-global-apis.test.js │ │ │ │ ├── legacy-tests-syntax.test.js │ │ │ │ ├── multiline-syntax.test.js │ │ │ │ ├── postman-references.test.js │ │ │ │ ├── request.test.js │ │ │ │ ├── response.test.js │ │ │ │ ├── scoped-variables.test.js │ │ │ │ ├── testing-framework.test.js │ │ │ │ ├── transformers/ │ │ │ │ │ └── send-request.test.js │ │ │ │ ├── variable-chaining.test.js │ │ │ │ └── variables.test.js │ │ │ ├── postman-with-examples.spec.js │ │ │ ├── utils/ │ │ │ │ ├── flatten.spec.js │ │ │ │ └── getMemberExpressionString.test.js │ │ │ └── wsdl/ │ │ │ └── wsdl-to-bruno.spec.js │ │ ├── tsconfig.json │ │ └── types/ │ │ └── common.d.ts │ ├── bruno-docs/ │ │ ├── package.json │ │ └── readme.md │ ├── bruno-electron/ │ │ ├── .gitignore │ │ ├── electron-builder-config.js │ │ ├── notarize.js │ │ ├── package.json │ │ ├── readme.md │ │ ├── resources/ │ │ │ ├── data/ │ │ │ │ └── sample-collection.json │ │ │ ├── entitlements.mac.plist │ │ │ └── icons/ │ │ │ └── mac/ │ │ │ └── icon.icns │ │ ├── src/ │ │ │ ├── about/ │ │ │ │ └── about.css │ │ │ ├── app/ │ │ │ │ ├── about-bruno.js │ │ │ │ ├── apiSpecs.js │ │ │ │ ├── apiSpecsWatcher.js │ │ │ │ ├── collection-watcher.js │ │ │ │ ├── collections.js │ │ │ │ ├── dotenv-watcher.js │ │ │ │ ├── menu-template.js │ │ │ │ ├── onboarding.js │ │ │ │ ├── system-monitor.js │ │ │ │ └── workspace-watcher.js │ │ │ ├── cache/ │ │ │ │ ├── apiSpecUids.js │ │ │ │ └── requestUids.js │ │ │ ├── index.js │ │ │ ├── ipc/ │ │ │ │ ├── apiSpec.js │ │ │ │ ├── collection.js │ │ │ │ ├── filesystem.js │ │ │ │ ├── git.js │ │ │ │ ├── global-environments.js │ │ │ │ ├── network/ │ │ │ │ │ ├── authorize-user-in-system-browser.js │ │ │ │ │ ├── authorize-user-in-window.js │ │ │ │ │ ├── awsv4auth-helper.js │ │ │ │ │ ├── axios-instance.js │ │ │ │ │ ├── cert-utils.js │ │ │ │ │ ├── grpc-event-handlers.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── interpolate-string.js │ │ │ │ │ ├── interpolate-vars.js │ │ │ │ │ ├── prepare-gql-introspection-request.js │ │ │ │ │ ├── prepare-grpc-request.js │ │ │ │ │ ├── prepare-request.js │ │ │ │ │ └── ws-event-handlers.js │ │ │ │ ├── notifications.js │ │ │ │ ├── openapi-sync.js │ │ │ │ ├── preferences.js │ │ │ │ ├── system-monitor.js │ │ │ │ ├── terminal.js │ │ │ │ └── workspace.js │ │ │ ├── preload.js │ │ │ ├── store/ │ │ │ │ ├── bruno-config.js │ │ │ │ ├── collection-security.js │ │ │ │ ├── cookies.js │ │ │ │ ├── default-workspace.js │ │ │ │ ├── env-secrets.js │ │ │ │ ├── global-environments.js │ │ │ │ ├── last-opened-collections.js │ │ │ │ ├── last-opened-workspaces.js │ │ │ │ ├── oauth2.js │ │ │ │ ├── preferences.js │ │ │ │ ├── process-env.js │ │ │ │ ├── system-proxy.js │ │ │ │ ├── ui-state-snapshot.js │ │ │ │ ├── window-state.js │ │ │ │ └── workspace-environments.js │ │ │ └── utils/ │ │ │ ├── arch.js │ │ │ ├── cancel-token.js │ │ │ ├── collection-import.js │ │ │ ├── collection.js │ │ │ ├── common.js │ │ │ ├── constants.js │ │ │ ├── cookies.js │ │ │ ├── deeplink.js │ │ │ ├── default-location.js │ │ │ ├── encryption.js │ │ │ ├── filesystem.js │ │ │ ├── filesystem.test.js │ │ │ ├── form-data.js │ │ │ ├── git.js │ │ │ ├── oauth2-protocol-handler.js │ │ │ ├── oauth2.js │ │ │ ├── parse.js │ │ │ ├── proxy-util.js │ │ │ ├── tests/ │ │ │ │ ├── collection-utils.spec.js │ │ │ │ ├── filesystem/ │ │ │ │ │ └── index.spec.js │ │ │ │ └── fixtures/ │ │ │ │ └── filesystem/ │ │ │ │ └── copypath-removepath.js │ │ │ ├── transformBrunoConfig.js │ │ │ ├── window.js │ │ │ ├── workspace-config.js │ │ │ └── workspace-lock.js │ │ └── tests/ │ │ ├── cookies-store.test.js │ │ ├── network/ │ │ │ ├── authorize-user.spec.js │ │ │ ├── execute-request-error-handler.spec.js │ │ │ ├── fetch-gql-schema-handler.spec.js │ │ │ ├── index.spec.js │ │ │ ├── interpolate-vars.spec.js │ │ │ ├── prepare-gql-introspection-request.spec.js │ │ │ ├── prepare-grpc-request.spec.js │ │ │ ├── prepare-request.spec.js │ │ │ └── prepare-ws-request.spec.js │ │ ├── prepare-request.test.js │ │ ├── store/ │ │ │ ├── default-location-migration.spec.js │ │ │ ├── global-environments.test.js │ │ │ └── proxy-preferences.spec.js │ │ └── utils/ │ │ ├── collection.spec.js │ │ ├── common.spec.js │ │ ├── encryption.spec.js │ │ ├── form-data.spec.js │ │ ├── proxy-util.spec.js │ │ ├── transform-bruno-config.spec.js │ │ └── workspace-config.spec.js │ ├── bruno-filestore/ │ │ ├── .gitignore │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── babel.config.js │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── constants.ts │ │ │ ├── formats/ │ │ │ │ ├── bru/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── tests/ │ │ │ │ │ │ ├── fixtures/ │ │ │ │ │ │ │ ├── oauth2-additional-params.js │ │ │ │ │ │ │ └── request-parse-and-redact-body-data/ │ │ │ │ │ │ │ ├── input.bru │ │ │ │ │ │ │ └── output.bru │ │ │ │ │ │ ├── oauth2-additional-params.spec.js │ │ │ │ │ │ └── request-parse-and-redact-body-data.spec.js │ │ │ │ │ └── utils/ │ │ │ │ │ ├── oauth2-additional-params.ts │ │ │ │ │ └── request-parse-and-redact-body-data.ts │ │ │ │ └── yml/ │ │ │ │ ├── common/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── assertions.ts │ │ │ │ │ ├── auth-oauth2.ts │ │ │ │ │ ├── auth.ts │ │ │ │ │ ├── body.ts │ │ │ │ │ ├── headers.ts │ │ │ │ │ ├── params.ts │ │ │ │ │ ├── scripts.ts │ │ │ │ │ └── variables.ts │ │ │ │ ├── index.ts │ │ │ │ ├── items/ │ │ │ │ │ ├── parseGraphQLRequest.ts │ │ │ │ │ ├── parseGrpcRequest.ts │ │ │ │ │ ├── parseHttpRequest.ts │ │ │ │ │ ├── parseScript.ts │ │ │ │ │ ├── parseWebsocketRequest.ts │ │ │ │ │ ├── stringifyGraphQLRequest.ts │ │ │ │ │ ├── stringifyGrpcRequest.ts │ │ │ │ │ ├── stringifyHttpRequest.ts │ │ │ │ │ ├── stringifyScript.ts │ │ │ │ │ └── stringifyWebsocketRequest.ts │ │ │ │ ├── parseCollection.ts │ │ │ │ ├── parseEnvironment.ts │ │ │ │ ├── parseFolder.ts │ │ │ │ ├── parseItem.ts │ │ │ │ ├── stringifyCollection.ts │ │ │ │ ├── stringifyEnvironment.ts │ │ │ │ ├── stringifyFolder.ts │ │ │ │ ├── stringifyItem.ts │ │ │ │ └── utils.ts │ │ │ ├── index.ts │ │ │ ├── types/ │ │ │ │ └── bruno-lang.d.ts │ │ │ ├── types.ts │ │ │ ├── utils/ │ │ │ │ └── index.ts │ │ │ └── workers/ │ │ │ ├── WorkerQueue/ │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ └── worker-script.ts │ │ ├── test-results/ │ │ │ └── .last-run.json │ │ └── tsconfig.json │ ├── bruno-graphql-docs/ │ │ ├── .gitignore │ │ ├── license.md │ │ ├── package.json │ │ ├── readme.md │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ ├── DocExplorer/ │ │ │ │ │ ├── Argument.tsx │ │ │ │ │ ├── DefaultValue.tsx │ │ │ │ │ ├── Directive.tsx │ │ │ │ │ ├── FieldDoc.tsx │ │ │ │ │ ├── MarkdownContent.tsx │ │ │ │ │ ├── SchemaDoc.tsx │ │ │ │ │ ├── SearchBox.tsx │ │ │ │ │ ├── SearchResults.tsx │ │ │ │ │ ├── TypeDoc.tsx │ │ │ │ │ ├── TypeLink.tsx │ │ │ │ │ └── types.ts │ │ │ │ └── DocExplorer.tsx │ │ │ ├── index.css │ │ │ ├── index.ts │ │ │ └── utility/ │ │ │ └── debounce.ts │ │ └── tsconfig.json │ ├── bruno-js/ │ │ ├── .gitignore │ │ ├── license.md │ │ ├── package.json │ │ ├── readme.md │ │ ├── src/ │ │ │ ├── bru.js │ │ │ ├── bruno-request.js │ │ │ ├── bruno-response.js │ │ │ ├── index.js │ │ │ ├── interpolate-string.js │ │ │ ├── runtime/ │ │ │ │ ├── assert-runtime.js │ │ │ │ ├── script-runtime.js │ │ │ │ ├── test-runtime.js │ │ │ │ └── vars-runtime.js │ │ │ ├── sandbox/ │ │ │ │ ├── bundle-libraries.js │ │ │ │ ├── mixins/ │ │ │ │ │ └── typed-arrays.js │ │ │ │ ├── node-vm/ │ │ │ │ │ ├── cjs-loader.js │ │ │ │ │ ├── console.js │ │ │ │ │ ├── constants.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── index.spec.js │ │ │ │ │ └── utils.js │ │ │ │ └── quickjs/ │ │ │ │ ├── index.js │ │ │ │ ├── shims/ │ │ │ │ │ ├── bru.js │ │ │ │ │ ├── bruno-request.js │ │ │ │ │ ├── bruno-response.js │ │ │ │ │ ├── console.js │ │ │ │ │ ├── lib/ │ │ │ │ │ │ ├── axios.js │ │ │ │ │ │ ├── axios.spec.js │ │ │ │ │ │ ├── crypto-utils.js │ │ │ │ │ │ ├── crypto-utils.spec.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── jwt.js │ │ │ │ │ │ ├── nanoid.js │ │ │ │ │ │ ├── path.js │ │ │ │ │ │ ├── utils.js │ │ │ │ │ │ └── uuid.js │ │ │ │ │ ├── local-module.js │ │ │ │ │ └── test.js │ │ │ │ └── utils/ │ │ │ │ └── index.js │ │ │ ├── test-results.js │ │ │ ├── test.js │ │ │ ├── utils/ │ │ │ │ ├── error-formatter.js │ │ │ │ ├── error-formatter.spec.js │ │ │ │ ├── results.js │ │ │ │ └── sandbox.js │ │ │ └── utils.js │ │ └── tests/ │ │ ├── bruno-request-delete-header.spec.js │ │ ├── runtime.spec.js │ │ ├── setEnvVar.spec.js │ │ └── utils.spec.js │ ├── bruno-lang/ │ │ ├── .gitignore │ │ ├── example/ │ │ │ ├── request.bru │ │ │ ├── request.json │ │ │ └── request.next.bru │ │ ├── license.md │ │ ├── package.json │ │ ├── readme.md │ │ ├── src/ │ │ │ └── index.js │ │ ├── v1/ │ │ │ ├── src/ │ │ │ │ ├── body-tag.js │ │ │ │ ├── env-vars-tag.js │ │ │ │ ├── headers-tag.js │ │ │ │ ├── index.js │ │ │ │ ├── inline-tag.js │ │ │ │ ├── key-val-lines.js │ │ │ │ ├── params-tag.js │ │ │ │ ├── script-tag.js │ │ │ │ ├── tests-tag.js │ │ │ │ └── utils.js │ │ │ └── tests/ │ │ │ ├── body-tag.spec.js │ │ │ ├── bru-to-env-json.spec.js │ │ │ ├── bru-to-json.spec.js │ │ │ ├── env-json-to-bru.spec.js │ │ │ ├── fixtures/ │ │ │ │ ├── env.bru │ │ │ │ └── request.bru │ │ │ ├── inline-tag.spec.js │ │ │ ├── json-to-bru.spec.js │ │ │ ├── key-val-lines.spec.js │ │ │ ├── script-tag.spec.js │ │ │ ├── tests-tag.spec.js │ │ │ └── utils.spec.js │ │ └── v2/ │ │ ├── src/ │ │ │ ├── bruToJson.js │ │ │ ├── collectionBruToJson.js │ │ │ ├── common/ │ │ │ │ ├── attributes.js │ │ │ │ └── semantic-utils.js │ │ │ ├── dotenvToJson.js │ │ │ ├── envToJson.js │ │ │ ├── example/ │ │ │ │ ├── bruToJson.js │ │ │ │ ├── jsonToBru.js │ │ │ │ ├── request/ │ │ │ │ │ └── bruToJson.js │ │ │ │ └── response/ │ │ │ │ └── bruToJson.js │ │ │ ├── jsonToBru.js │ │ │ ├── jsonToCollectionBru.js │ │ │ ├── jsonToEnv.js │ │ │ └── utils.js │ │ └── tests/ │ │ ├── assert.spec.js │ │ ├── bruToJson.spec.js │ │ ├── collection.spec.js │ │ ├── custom-methods/ │ │ │ ├── custom-method.spec.js │ │ │ └── fixtures/ │ │ │ ├── custom-method-with-special-chars.bru │ │ │ ├── custom-method-with-special-chars.json │ │ │ ├── custom-method-x-custom.bru │ │ │ ├── custom-method-x-custom.json │ │ │ ├── custom-method.bru │ │ │ └── custom-method.json │ │ ├── defaults.spec.js │ │ ├── dictionary.spec.js │ │ ├── dotenvToJson.spec.js │ │ ├── envToJson.spec.js │ │ ├── examples/ │ │ │ ├── examples.spec.js │ │ │ └── fixtures/ │ │ │ ├── bru/ │ │ │ │ ├── bruToJson-empty-example.bru │ │ │ │ ├── bruToJson-json-body.bru │ │ │ │ ├── bruToJson-multiple-examples.bru │ │ │ │ ├── bruToJson-no-examples.bru │ │ │ │ ├── bruToJson-response-example.bru │ │ │ │ ├── bruToJson-single-example.bru │ │ │ │ ├── bruToJson-text-body.bru │ │ │ │ ├── bruToJson-xml-body.bru │ │ │ │ ├── complex-with-auth.bru │ │ │ │ ├── examples-complex.bru │ │ │ │ ├── examples-multiline-contenttype.bru │ │ │ │ ├── examples-multiline-description.bru │ │ │ │ ├── examples-simple.bru │ │ │ │ ├── form-data-complex.bru │ │ │ │ ├── jsonToBru-bodytypes.bru │ │ │ │ ├── jsonToBru-multiple.bru │ │ │ │ ├── jsonToBru-response.bru │ │ │ │ ├── jsonToBru-simple.bru │ │ │ │ ├── multiple-examples-variations.bru │ │ │ │ └── oauth2-examples.bru │ │ │ └── json/ │ │ │ ├── bruToJson-empty-example.json │ │ │ ├── bruToJson-json-body.json │ │ │ ├── bruToJson-multiple-examples.json │ │ │ ├── bruToJson-no-examples.json │ │ │ ├── bruToJson-response-example.json │ │ │ ├── bruToJson-single-example.json │ │ │ ├── bruToJson-text-body.json │ │ │ ├── bruToJson-xml-body.json │ │ │ ├── complex-with-auth.json │ │ │ ├── examples-complex.json │ │ │ ├── examples-multiline-contenttype.json │ │ │ ├── examples-multiline-description.json │ │ │ ├── examples-simple.json │ │ │ ├── form-data-complex.json │ │ │ ├── jsonToBru-bodytypes.json │ │ │ ├── jsonToBru-multiple.json │ │ │ ├── jsonToBru-response.json │ │ │ ├── jsonToBru-simple.json │ │ │ ├── multiple-examples-variations.json │ │ │ └── oauth2-examples.json │ │ ├── fixtures/ │ │ │ ├── collection.bru │ │ │ ├── collection.json │ │ │ ├── request.bru │ │ │ └── request.json │ │ ├── getKeyString.spec.js │ │ ├── index.spec.js │ │ ├── jsonToBru.spec.js │ │ ├── jsonToEnv.spec.js │ │ ├── list.spec.js │ │ ├── oauth2-additional-params.spec.js │ │ ├── script.spec.js │ │ ├── settings/ │ │ │ ├── fixtures/ │ │ │ │ ├── settings-all-options.bru │ │ │ │ ├── settings-all-options.json │ │ │ │ ├── settings-minimal.bru │ │ │ │ └── settings-minimal.json │ │ │ └── settings.spec.js │ │ ├── tags.spec.js │ │ └── utils.spec.js │ ├── bruno-query/ │ │ ├── .gitignore │ │ ├── jest.config.js │ │ ├── license.md │ │ ├── package.json │ │ ├── readme.md │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ └── index.ts │ │ ├── tests/ │ │ │ └── index.spec.ts │ │ └── tsconfig.json │ ├── bruno-requests/ │ │ ├── .gitignore │ │ ├── babel.config.js │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── auth/ │ │ │ │ ├── digestauth-helper.js │ │ │ │ ├── digestauth-helper.spec.js │ │ │ │ ├── index.ts │ │ │ │ ├── oauth2-helper.spec.ts │ │ │ │ └── oauth2-helper.ts │ │ │ ├── cookies/ │ │ │ │ ├── index.spec.ts │ │ │ │ └── index.ts │ │ │ ├── grpc/ │ │ │ │ ├── grpc-client.js │ │ │ │ ├── grpc-client.spec.js │ │ │ │ ├── grpcMessageGenerator.js │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── network/ │ │ │ │ ├── axios-instance.ts │ │ │ │ ├── index.ts │ │ │ │ └── system-proxy/ │ │ │ │ ├── index.spec.js │ │ │ │ ├── index.ts │ │ │ │ ├── types.ts │ │ │ │ └── utils/ │ │ │ │ ├── common.spec.ts │ │ │ │ ├── common.ts │ │ │ │ ├── linux.spec.ts │ │ │ │ ├── linux.ts │ │ │ │ ├── macos.spec.ts │ │ │ │ ├── macos.ts │ │ │ │ ├── windows.spec.ts │ │ │ │ └── windows.ts │ │ │ ├── scripting/ │ │ │ │ ├── index.ts │ │ │ │ ├── send-request.spec.ts │ │ │ │ └── send-request.ts │ │ │ ├── utils/ │ │ │ │ ├── agent-cache.spec.ts │ │ │ │ ├── agent-cache.ts │ │ │ │ ├── ca-cert.ts │ │ │ │ ├── http-https-agents.ts │ │ │ │ ├── node-vault.spec.ts │ │ │ │ ├── node-vault.ts │ │ │ │ ├── proxy-util.spec.ts │ │ │ │ ├── proxy-util.ts │ │ │ │ ├── shell-env.spec.ts │ │ │ │ ├── shell-env.ts │ │ │ │ ├── timeline-agent.ts │ │ │ │ ├── url-validation.spec.ts │ │ │ │ └── url-validation.ts │ │ │ └── ws/ │ │ │ ├── ws-client.js │ │ │ ├── ws-url.js │ │ │ └── ws-url.spec.ts │ │ └── tsconfig.json │ ├── bruno-schema/ │ │ ├── .gitignore │ │ ├── license.md │ │ ├── package.json │ │ ├── readme.md │ │ └── src/ │ │ ├── collections/ │ │ │ ├── index.js │ │ │ ├── index.spec.js │ │ │ ├── itemSchema.spec.js │ │ │ └── requestSchema.spec.js │ │ ├── common/ │ │ │ └── index.js │ │ ├── index.js │ │ └── utils/ │ │ └── testUtils.js │ ├── bruno-schema-types/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ ├── collection/ │ │ │ │ ├── collection.ts │ │ │ │ ├── environment.ts │ │ │ │ ├── examples.ts │ │ │ │ ├── folder.ts │ │ │ │ ├── index.ts │ │ │ │ └── item.ts │ │ │ ├── common/ │ │ │ │ ├── auth.ts │ │ │ │ ├── file.ts │ │ │ │ ├── graphql.ts │ │ │ │ ├── index.ts │ │ │ │ ├── key-value.ts │ │ │ │ ├── multipart-form.ts │ │ │ │ ├── scripts.ts │ │ │ │ ├── uid.ts │ │ │ │ └── variables.ts │ │ │ ├── index.ts │ │ │ └── requests/ │ │ │ ├── grpc.ts │ │ │ ├── http.ts │ │ │ ├── index.ts │ │ │ └── websocket.ts │ │ └── tsconfig.json │ ├── bruno-tests/ │ │ ├── .gitignore │ │ ├── .nvmrc │ │ ├── additional-context-root-lib/ │ │ │ ├── index.js │ │ │ └── lib.js │ │ ├── collection/ │ │ │ ├── .env │ │ │ ├── .gitignore │ │ │ ├── .nvmrc │ │ │ ├── asserts/ │ │ │ │ └── test-assert-combinations.bru │ │ │ ├── auth/ │ │ │ │ ├── basic/ │ │ │ │ │ ├── via auth/ │ │ │ │ │ │ ├── Basic Auth 200.bru │ │ │ │ │ │ └── Basic Auth 401.bru │ │ │ │ │ └── via script/ │ │ │ │ │ ├── Basic Auth 200.bru │ │ │ │ │ └── Basic Auth 401.bru │ │ │ │ ├── bearer/ │ │ │ │ │ ├── via auth/ │ │ │ │ │ │ ├── Bearer Auth 200.bru │ │ │ │ │ │ └── Bearer Auth undefined.bru │ │ │ │ │ └── via headers/ │ │ │ │ │ └── Bearer Auth 200.bru │ │ │ │ ├── cookie/ │ │ │ │ │ ├── Check.bru │ │ │ │ │ └── Login.bru │ │ │ │ ├── digest/ │ │ │ │ │ ├── Digest Auth 200.bru │ │ │ │ │ ├── Digest Auth 401.bru │ │ │ │ │ └── folder.bru │ │ │ │ └── inherit auth/ │ │ │ │ └── inherit Bearer Auth 200.bru │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ ├── echo/ │ │ │ │ ├── echo bom json.bru │ │ │ │ ├── echo form-url-encoded.bru │ │ │ │ ├── echo headers.bru │ │ │ │ ├── echo json.bru │ │ │ │ ├── echo multipart scripting.bru │ │ │ │ ├── echo multipart.bru │ │ │ │ ├── echo numbers.bru │ │ │ │ ├── echo plaintext.bru │ │ │ │ ├── echo xml parsed(self closing tags).bru │ │ │ │ ├── echo xml parsed.bru │ │ │ │ ├── echo xml raw.bru │ │ │ │ ├── multiline/ │ │ │ │ │ └── echo binary.bru │ │ │ │ ├── test echo any.bru │ │ │ │ └── test echo-any json.bru │ │ │ ├── environments/ │ │ │ │ ├── Local.bru │ │ │ │ └── Prod.bru │ │ │ ├── file.json │ │ │ ├── file.txt │ │ │ ├── graphql/ │ │ │ │ ├── mutation.bru │ │ │ │ ├── spacex.bru │ │ │ │ └── variable-interpolation.bru │ │ │ ├── lib/ │ │ │ │ ├── constants.js │ │ │ │ ├── math.js │ │ │ │ └── notes.js │ │ │ ├── package.json │ │ │ ├── ping.bru │ │ │ ├── preview/ │ │ │ │ ├── html/ │ │ │ │ │ └── bruno.bru │ │ │ │ └── image/ │ │ │ │ └── bruno.bru │ │ │ ├── readme.md │ │ │ ├── redirects/ │ │ │ │ ├── Disable Redirect.bru │ │ │ │ ├── Test Multipart Redirect Consumed FormData.bru │ │ │ │ ├── Test Multipart Redirect Multiple Fields.bru │ │ │ │ ├── Test Multipart Redirect.bru │ │ │ │ └── Test Redirect.bru │ │ │ ├── request-setting/ │ │ │ │ ├── folder.bru │ │ │ │ ├── follow-redirect.bru │ │ │ │ └── max-redirect.bru │ │ │ ├── response-parsing/ │ │ │ │ ├── test JSON false response.bru │ │ │ │ ├── test JSON null response.bru │ │ │ │ ├── test JSON number response.bru │ │ │ │ ├── test JSON response.bru │ │ │ │ ├── test JSON string response.bru │ │ │ │ ├── test JSON string with quotes response.bru │ │ │ │ ├── test JSON true response.bru │ │ │ │ ├── test JSON unsafe-int response.bru │ │ │ │ ├── test binary response.bru │ │ │ │ ├── test html response.bru │ │ │ │ ├── test image response.bru │ │ │ │ ├── test invalid JSON response with formatting.bru │ │ │ │ ├── test plain text response with formatting.bru │ │ │ │ ├── test plain text response.bru │ │ │ │ ├── test plain text utf16 response.bru │ │ │ │ ├── test plain text utf16-be with BOM response.bru │ │ │ │ ├── test plain text utf16-le with BOM response.bru │ │ │ │ ├── test plain text utf8 with BOM response.bru │ │ │ │ └── test xml response.bru │ │ │ ├── scripting/ │ │ │ │ ├── api/ │ │ │ │ │ ├── bru/ │ │ │ │ │ │ ├── cookies/ │ │ │ │ │ │ │ ├── Redirect Cookie Save.bru │ │ │ │ │ │ │ ├── clear.bru │ │ │ │ │ │ │ ├── deleteCookie.bru │ │ │ │ │ │ │ ├── deleteCookies.bru │ │ │ │ │ │ │ ├── folder.bru │ │ │ │ │ │ │ ├── getCookie.bru │ │ │ │ │ │ │ ├── getCookies.bru │ │ │ │ │ │ │ ├── hasCookie.bru │ │ │ │ │ │ │ ├── setCookie.bru │ │ │ │ │ │ │ ├── setCookieHeader.bru │ │ │ │ │ │ │ └── setCookies.bru │ │ │ │ │ │ ├── deleteAllCollectionVars.bru │ │ │ │ │ │ ├── deleteAllEnvVars.bru │ │ │ │ │ │ ├── deleteAllGlobalEnvVars.bru │ │ │ │ │ │ ├── deleteCollectionVar.bru │ │ │ │ │ │ ├── deleteGlobalEnvVar.bru │ │ │ │ │ │ ├── folder.bru │ │ │ │ │ │ ├── getAllCollectionVars.bru │ │ │ │ │ │ ├── getAllEnvVars.bru │ │ │ │ │ │ ├── getAllGlobalEnvVars.bru │ │ │ │ │ │ ├── getAllVars.bru │ │ │ │ │ │ ├── getCollectionName.bru │ │ │ │ │ │ ├── getCollectionVar.bru │ │ │ │ │ │ ├── getEnvName.bru │ │ │ │ │ │ ├── getEnvVar.bru │ │ │ │ │ │ ├── getFolderVar.bru │ │ │ │ │ │ ├── getProcessEnv.bru │ │ │ │ │ │ ├── getRequestVar.bru │ │ │ │ │ │ ├── getVar.bru │ │ │ │ │ │ ├── hasCollectionVar.bru │ │ │ │ │ │ ├── interpolate.bru │ │ │ │ │ │ ├── isSafeMode.bru │ │ │ │ │ │ ├── runRequest-1.bru │ │ │ │ │ │ ├── runRequest-2.bru │ │ │ │ │ │ ├── runRequest.bru │ │ │ │ │ │ ├── runner/ │ │ │ │ │ │ │ ├── 1.bru │ │ │ │ │ │ │ ├── 2.bru │ │ │ │ │ │ │ └── 3.bru │ │ │ │ │ │ ├── send-request/ │ │ │ │ │ │ │ ├── folder.bru │ │ │ │ │ │ │ ├── get-url-string.bru │ │ │ │ │ │ │ └── usage-patterns.bru │ │ │ │ │ │ ├── setCollectionVar.bru │ │ │ │ │ │ ├── setEnvVar.bru │ │ │ │ │ │ └── setVar.bru │ │ │ │ │ ├── req/ │ │ │ │ │ │ ├── deleteHeader.bru │ │ │ │ │ │ ├── deleteHeaders.bru │ │ │ │ │ │ ├── getBody.bru │ │ │ │ │ │ ├── getHeader.bru │ │ │ │ │ │ ├── getHeaders.bru │ │ │ │ │ │ ├── getHost.bru │ │ │ │ │ │ ├── getMethod.bru │ │ │ │ │ │ ├── getName.bru │ │ │ │ │ │ ├── getPath.bru │ │ │ │ │ │ ├── getPathParams.bru │ │ │ │ │ │ ├── getQueryString.bru │ │ │ │ │ │ ├── getTags.bru │ │ │ │ │ │ ├── getUrl.bru │ │ │ │ │ │ ├── setBody/ │ │ │ │ │ │ │ └── form-urlencoded/ │ │ │ │ │ │ │ ├── array body.bru │ │ │ │ │ │ │ ├── content-type via setHeader.bru │ │ │ │ │ │ │ ├── folder.bru │ │ │ │ │ │ │ ├── object body.bru │ │ │ │ │ │ │ └── string body.bru │ │ │ │ │ │ ├── setBody.bru │ │ │ │ │ │ ├── setHeader.bru │ │ │ │ │ │ ├── setHeaders.bru │ │ │ │ │ │ ├── setMethod.bru │ │ │ │ │ │ └── setUrl.bru │ │ │ │ │ └── res/ │ │ │ │ │ ├── getBody.bru │ │ │ │ │ ├── getHeader.bru │ │ │ │ │ ├── getHeaders.bru │ │ │ │ │ ├── getResponseTime.bru │ │ │ │ │ ├── getSize.bru │ │ │ │ │ ├── getStatus.bru │ │ │ │ │ ├── getStatusText.bru │ │ │ │ │ ├── getUrl.bru │ │ │ │ │ └── setBody/ │ │ │ │ │ ├── array.bru │ │ │ │ │ ├── boolean.bru │ │ │ │ │ ├── folder.bru │ │ │ │ │ ├── isJson after setBody.bru │ │ │ │ │ ├── null.bru │ │ │ │ │ ├── number.bru │ │ │ │ │ ├── object.bru │ │ │ │ │ ├── string.bru │ │ │ │ │ └── undefined.bru │ │ │ │ ├── inbuilt modules/ │ │ │ │ │ ├── axios/ │ │ │ │ │ │ └── axios-pre-req-script.bru │ │ │ │ │ ├── cheerio/ │ │ │ │ │ │ └── cheerio.bru │ │ │ │ │ ├── crypto-js/ │ │ │ │ │ │ └── crypto-js-pre-request-script.bru │ │ │ │ │ ├── crypto-utils/ │ │ │ │ │ │ ├── getRandomValues.bru │ │ │ │ │ │ └── randomBytes.bru │ │ │ │ │ ├── nanoid/ │ │ │ │ │ │ └── nanoid.bru │ │ │ │ │ ├── tv4/ │ │ │ │ │ │ ├── folder.bru │ │ │ │ │ │ └── tv4.bru │ │ │ │ │ ├── utils.js │ │ │ │ │ ├── uuid/ │ │ │ │ │ │ └── uuid.bru │ │ │ │ │ └── xml2js/ │ │ │ │ │ └── xml2js.bru │ │ │ │ ├── js/ │ │ │ │ │ ├── data types - request vars.bru │ │ │ │ │ ├── data types.bru │ │ │ │ │ ├── folder-collection script-tests pre.bru │ │ │ │ │ ├── folder-collection script-tests.bru │ │ │ │ │ ├── folder.bru │ │ │ │ │ └── setTimeout.bru │ │ │ │ ├── local modules/ │ │ │ │ │ ├── additional context root.bru │ │ │ │ │ ├── invalid and valid module imports.bru │ │ │ │ │ ├── sum (without js extn).bru │ │ │ │ │ └── sum.bru │ │ │ │ ├── node-builtins/ │ │ │ │ │ ├── buffer.bru │ │ │ │ │ ├── encoding.bru │ │ │ │ │ ├── events.bru │ │ │ │ │ ├── fetch-api.bru │ │ │ │ │ ├── intl.bru │ │ │ │ │ ├── json.bru │ │ │ │ │ ├── node-crypto.bru │ │ │ │ │ ├── node-fs.bru │ │ │ │ │ ├── node-os.bru │ │ │ │ │ ├── node-path.bru │ │ │ │ │ ├── node-querystring.bru │ │ │ │ │ ├── node-stream.bru │ │ │ │ │ ├── node-util.bru │ │ │ │ │ ├── node-zlib.bru │ │ │ │ │ ├── process.bru │ │ │ │ │ ├── timers.bru │ │ │ │ │ ├── url.bru │ │ │ │ │ └── web-crypto.bru │ │ │ │ └── npm modules/ │ │ │ │ ├── ajv.bru │ │ │ │ ├── external-lib-bru-req-res.bru │ │ │ │ ├── fakerjs.bru │ │ │ │ └── jose.bru │ │ │ ├── string interpolation/ │ │ │ │ ├── env vars.bru │ │ │ │ ├── folder.bru │ │ │ │ ├── missing values.bru │ │ │ │ ├── objects-arrays interpolation.bru │ │ │ │ ├── process env vars.bru │ │ │ │ └── runtime vars.bru │ │ │ └── url-serialization/ │ │ │ ├── Duplicate Keys.bru │ │ │ └── folder.bru │ │ ├── collection_level_oauth2/ │ │ │ ├── .gitignore │ │ │ ├── .nvmrc │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ ├── environments/ │ │ │ │ ├── Local.bru │ │ │ │ └── Prod.bru │ │ │ ├── package.json │ │ │ ├── readme.md │ │ │ └── resource.bru │ │ ├── collection_oauth2/ │ │ │ ├── .env │ │ │ ├── .gitignore │ │ │ ├── .nvmrc │ │ │ ├── auth/ │ │ │ │ └── oauth2/ │ │ │ │ ├── authorization_code/ │ │ │ │ │ ├── github token with authorize.bru │ │ │ │ │ ├── google token with authorize.bru │ │ │ │ │ ├── resource.bru │ │ │ │ │ └── token with authorize.bru │ │ │ │ ├── client_credentials/ │ │ │ │ │ ├── resource.bru │ │ │ │ │ └── token.bru │ │ │ │ └── password_credentials/ │ │ │ │ ├── resource.bru │ │ │ │ └── token.bru │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ ├── environments/ │ │ │ │ ├── Local.bru │ │ │ │ └── Prod.bru │ │ │ ├── file.json │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── external-lib-with-bru-req-res-objects/ │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── keycloak-authorization_code/ │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ ├── environments/ │ │ │ │ └── oauth2.bru │ │ │ ├── user_info_coll-auth.bru │ │ │ ├── user_info_custom.bru │ │ │ └── user_info_request-auth.bru │ │ ├── keycloak-client-credentials/ │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ ├── environments/ │ │ │ │ └── oauth2.bru │ │ │ ├── user_info_coll-auth.bru │ │ │ ├── user_info_custom.bru │ │ │ └── user_info_request-auth.bru │ │ ├── keycloak-password-credentials/ │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ ├── environments/ │ │ │ │ └── oauth2.bru │ │ │ ├── user_info_coll-auth.bru │ │ │ ├── user_info_custom.bru │ │ │ └── user_info_request-auth.bru │ │ ├── package.json │ │ ├── readme.md │ │ ├── sandwich_exec/ │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ └── folder/ │ │ │ ├── folder.bru │ │ │ └── request.bru │ │ ├── sequential_exec/ │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ └── folder/ │ │ │ ├── folder.bru │ │ │ └── request.bru │ │ └── src/ │ │ ├── auth/ │ │ │ ├── basic.js │ │ │ ├── bearer.js │ │ │ ├── cookie.js │ │ │ ├── index.js │ │ │ ├── oauth2/ │ │ │ │ ├── authorizationCode.js │ │ │ │ ├── clientCredentials.js │ │ │ │ └── passwordCredentials.js │ │ │ └── wsse.js │ │ ├── echo/ │ │ │ └── index.js │ │ ├── graphql/ │ │ │ └── index.js │ │ ├── index.js │ │ ├── mix/ │ │ │ └── index.js │ │ ├── multipart/ │ │ │ ├── form-data-parser.js │ │ │ └── index.js │ │ ├── redirect/ │ │ │ └── index.js │ │ ├── utils/ │ │ │ └── xmlParser.js │ │ └── ws/ │ │ └── index.js │ └── bruno-toml/ │ ├── lib/ │ │ └── stringify │ ├── package.json │ ├── src/ │ │ ├── jsonToToml.js │ │ └── tomlToJson.js │ └── tests/ │ ├── headers/ │ │ ├── disabled-header/ │ │ │ ├── request.json │ │ │ └── request.toml │ │ ├── dotted-header/ │ │ │ ├── request.json │ │ │ └── request.toml │ │ ├── duplicate-header/ │ │ │ ├── request.json │ │ │ └── request.toml │ │ ├── empty-header/ │ │ │ ├── request.json │ │ │ └── request.toml │ │ ├── reserved-header/ │ │ │ ├── request.json │ │ │ └── request.toml │ │ ├── simple-header/ │ │ │ ├── request.json │ │ │ └── request.toml │ │ ├── spaces-in-header/ │ │ │ ├── request.json │ │ │ └── request.toml │ │ └── unicode-in-header/ │ │ ├── request.json │ │ └── request.toml │ ├── index.spec.js │ ├── methods/ │ │ ├── delete/ │ │ │ ├── request.json │ │ │ └── request.toml │ │ └── get/ │ │ ├── request.json │ │ └── request.toml │ └── scripts/ │ ├── post-response/ │ │ ├── request.json │ │ └── request.toml │ ├── pre-request/ │ │ ├── request.json │ │ └── request.toml │ └── tests/ │ ├── request.json │ └── request.toml ├── playwright/ │ ├── codegen.ts │ ├── electron.ts │ └── index.ts ├── playwright.config.ts ├── publishing.md ├── readme.md ├── scripts/ │ ├── build-electron.js │ ├── build-electron.sh │ ├── changed-packages.js │ ├── count-locs.js │ ├── dev-hot-reload.js │ ├── dev.js │ ├── pr-checkout.js │ └── setup.js ├── security.md └── tests/ ├── asserts/ │ ├── add-assertions.spec.ts │ ├── fixtures/ │ │ └── collection/ │ │ ├── bruno.json │ │ ├── environments/ │ │ │ └── Local.bru │ │ └── ping.bru │ └── init-user-data/ │ └── preferences.json ├── collection/ │ ├── close-all-collections/ │ │ ├── close-all-collections.spec.ts │ │ ├── fixtures/ │ │ │ └── collections/ │ │ │ ├── collection 1/ │ │ │ │ ├── bruno.json │ │ │ │ └── test-request.bru │ │ │ └── collection 2/ │ │ │ ├── bruno.json │ │ │ └── test-request.bru │ │ └── init-user-data/ │ │ └── preferences.json │ ├── create/ │ │ └── create-collection.spec.ts │ ├── create-requests/ │ │ ├── fixtures/ │ │ │ └── collection/ │ │ │ ├── bruno.json │ │ │ └── folder1/ │ │ │ └── folder.bru │ │ ├── graphql-requests.spec.ts │ │ ├── grpc-requests.spec.ts │ │ ├── http-requests.spec.ts │ │ ├── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ └── ws-requests.spec.ts │ ├── default-ignores/ │ │ └── default-ignores.spec.ts │ ├── default-sandbox-mode/ │ │ └── default-sandbox-mode.spec.ts │ ├── delete/ │ │ └── delete-collection.spec.ts │ ├── draft/ │ │ ├── draft-indicator.spec.ts │ │ ├── draft-values-in-requests.spec.ts │ │ └── fixtures/ │ │ ├── grpcbin.proto │ │ └── mitmproxy-ca-cert.cer │ ├── moving-requests/ │ │ ├── cross-collection-drag-drop-folder.spec.ts │ │ ├── cross-collection-drag-drop-request.spec.ts │ │ └── tag-persistence.spec.ts │ ├── moving-tabs/ │ │ └── move-tabs.spec.ts │ └── open/ │ └── open-multiple-collections.spec.ts ├── cookies/ │ ├── cookie-persistence.spec.ts │ └── corrupted-passkey.spec.ts ├── devtools/ │ └── performance/ │ └── performance-tab.spec.ts ├── dotenv/ │ └── special-chars-collection-path/ │ └── dotenv-special-chars.spec.ts ├── editable-table/ │ └── editable-table.spec.ts ├── environments/ │ ├── api-deleteEnvVar/ │ │ ├── api-deleteEnvVar.spec.ts │ │ ├── fixtures/ │ │ │ └── collection/ │ │ │ ├── api-deleteEnvVar.bru │ │ │ ├── bruno.json │ │ │ └── environments/ │ │ │ └── Stage.bru │ │ └── init-user-data/ │ │ ├── collection-security.json │ │ └── preferences.json │ ├── api-setEnvVar/ │ │ ├── api-setEnvVar-with-persist.spec.ts │ │ ├── api-setEnvVar-without-persist.spec.ts │ │ ├── fixtures/ │ │ │ └── collection/ │ │ │ ├── api-setEnvVar-with-persist.bru │ │ │ ├── api-setEnvVar-without-persist.bru │ │ │ ├── bruno.json │ │ │ ├── environments/ │ │ │ │ └── Stage.bru │ │ │ └── multiple-persist-vars-folder/ │ │ │ ├── folder.bru │ │ │ ├── multiple-persist-vars-1.bru │ │ │ └── multiple-persist-vars-2.bru │ │ ├── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ └── multiple-persist-vars.spec.ts │ ├── collection-env-config-selection/ │ │ ├── collection/ │ │ │ ├── bruno.json │ │ │ ├── environments/ │ │ │ │ ├── dev.bru │ │ │ │ └── prod.bru │ │ │ └── test-request.bru │ │ ├── collection-env-config-selection.spec.ts │ │ └── init-user-data/ │ │ ├── collection-security.json │ │ └── preferences.json │ ├── color-picker/ │ │ ├── collection/ │ │ │ ├── bruno.json │ │ │ └── test-request.bru │ │ ├── color-picker.spec.ts │ │ └── init-user-data/ │ │ ├── collection-security.json │ │ ├── global-environments.json │ │ └── preferences.json │ ├── create-environment/ │ │ ├── collection-env-create.spec.ts │ │ ├── fixtures/ │ │ │ └── bruno-collection.json │ │ └── global-env-create.spec.ts │ ├── export-environment/ │ │ ├── collection-env-export/ │ │ │ ├── collection-env-export.spec.ts │ │ │ ├── fixtures/ │ │ │ │ └── collection/ │ │ │ │ ├── bruno.json │ │ │ │ ├── environments/ │ │ │ │ │ ├── local.bru │ │ │ │ │ └── prod.bru │ │ │ │ └── test-request.bru │ │ │ └── init-user-data/ │ │ │ ├── collection-security.json │ │ │ ├── global-environments.json │ │ │ └── preferences.json │ │ └── global-env-export/ │ │ ├── fixtures/ │ │ │ └── collection/ │ │ │ ├── bruno.json │ │ │ └── test-request.bru │ │ ├── global-env-export.spec.ts │ │ └── init-user-data/ │ │ ├── collection-security.json │ │ ├── global-environments.json │ │ └── preferences.json │ ├── fixtures/ │ │ └── environment-exports/ │ │ ├── bruno-collection-environments/ │ │ │ ├── local.json │ │ │ └── prod.json │ │ ├── bruno-collection-environments.json │ │ ├── bruno-global-environments/ │ │ │ ├── local.json │ │ │ └── prod.json │ │ ├── bruno-global-environments.json │ │ └── local.json │ ├── focus-retention/ │ │ └── environment-focus.spec.ts │ ├── global-env-config-selection/ │ │ ├── collection/ │ │ │ ├── bruno.json │ │ │ └── test-request.bru │ │ ├── global-env-config-selection.spec.ts │ │ └── init-user-data/ │ │ ├── collection-security.json │ │ ├── global-environments.json │ │ └── preferences.json │ ├── import-environment/ │ │ ├── bruno-env-import/ │ │ │ ├── collection-env-import/ │ │ │ │ ├── collection-env-import.spec.ts │ │ │ │ ├── fixtures/ │ │ │ │ │ └── collection/ │ │ │ │ │ ├── bruno.json │ │ │ │ │ └── test-request.bru │ │ │ │ └── init-user-data/ │ │ │ │ ├── collection-security.json │ │ │ │ └── preferences.json │ │ │ └── global-env-import/ │ │ │ ├── fixtures/ │ │ │ │ └── collection/ │ │ │ │ ├── bruno.json │ │ │ │ └── test-request.bru │ │ │ ├── global-env-import.spec.ts │ │ │ └── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ ├── collection-env-import.spec.ts │ │ ├── env-color-import/ │ │ │ ├── env-color-import.spec.ts │ │ │ ├── fixtures/ │ │ │ │ ├── collection/ │ │ │ │ │ ├── bruno.json │ │ │ │ │ └── test-request.bru │ │ │ │ ├── env-with-color.json │ │ │ │ └── multiple-envs-with-colors.json │ │ │ └── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ ├── fixtures/ │ │ │ ├── collection-env.json │ │ │ ├── collection.json │ │ │ └── global-env.json │ │ └── global-env-import.spec.ts │ ├── multiline-variables/ │ │ ├── fixtures/ │ │ │ └── collection/ │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ ├── environments/ │ │ │ │ └── Test.bru │ │ │ ├── multiline-test.bru │ │ │ └── request.bru │ │ ├── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ ├── read-multiline-environment.spec.ts │ │ └── write-multiline-variable.spec.ts │ └── update-global-environment-via-script/ │ ├── fixtures/ │ │ └── collection/ │ │ ├── bruno.json │ │ ├── collection.bru │ │ └── test-request.bru │ ├── global-env-update-via-script.spec.ts │ └── init-user-data/ │ ├── collection-security.json │ ├── global-environments.json │ └── preferences.json ├── footer/ │ ├── notifications/ │ │ └── notifications.spec.js │ └── sidebar-toggle/ │ └── sidebar-toggle.spec.js ├── global-environments/ │ ├── collection/ │ │ ├── bruno.json │ │ └── set-global-nonstring.bru │ ├── init-user-data/ │ │ └── preferences.json │ └── non-string-values.spec.ts ├── grpc/ │ ├── make-request/ │ │ ├── fixtures/ │ │ │ └── collection/ │ │ │ ├── HelloService/ │ │ │ │ ├── BidiHello.bru │ │ │ │ ├── LotOfGreetings.bru │ │ │ │ ├── LotOfReplies.bru │ │ │ │ ├── SayHello.bru │ │ │ │ └── folder.bru │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ └── environments/ │ │ │ └── Env.bru │ │ ├── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ └── make-request.spec.ts │ ├── metadata/ │ │ ├── fixtures/ │ │ │ └── collection/ │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ └── sayHello.bru │ │ ├── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ └── with-bin-metadata.spec.ts │ └── method-search/ │ ├── fixtures/ │ │ └── grpc-collection/ │ │ ├── SayHello.bru │ │ ├── bruno.json │ │ └── environments/ │ │ └── GrpcEnv.bru │ ├── grpc-method-search.spec.ts │ └── init-user-data/ │ ├── collection-security.json │ └── preferences.json ├── import/ │ ├── bruno/ │ │ ├── fixtures/ │ │ │ ├── bruno-invalid-corrupted.json │ │ │ ├── bruno-malformed.json │ │ │ ├── bruno-missing-required-fields.json │ │ │ ├── bruno-testbench.json │ │ │ └── bruno-with-examples.json │ │ ├── import-bruno-corrupted-fails.spec.ts │ │ ├── import-bruno-missing-required-schema.spec.ts │ │ ├── import-bruno-testbench.spec.ts │ │ └── import-bruno-with-examples.spec.ts │ ├── bulk-import/ │ │ ├── 001-multiple-files-upload.spec.ts │ │ └── 002-all-collection-types.spec.ts │ ├── file-types/ │ │ ├── file-input-acceptance.spec.ts │ │ ├── fixtures/ │ │ │ └── invalid.txt │ │ └── invalid-file-handling.spec.ts │ ├── insomnia/ │ │ ├── fixtures/ │ │ │ ├── insomnia-malformed.json │ │ │ ├── insomnia-v4-with-envs.json │ │ │ ├── insomnia-v4.json │ │ │ ├── insomnia-v5-invalid-missing-collection.yaml │ │ │ ├── insomnia-v5-with-envs.yaml │ │ │ └── insomnia-v5.yaml │ │ ├── import-insomnia-v4-environments.spec.ts │ │ ├── import-insomnia-v4.spec.ts │ │ ├── import-insomnia-v5-environments.spec.ts │ │ ├── import-insomnia-v5.spec.ts │ │ ├── invalid-missing-collection.spec.ts │ │ └── malformed-structure.spec.ts │ ├── openapi/ │ │ ├── cli/ │ │ │ ├── fixtures/ │ │ │ │ └── openapi.json │ │ │ └── group-by-import.spec.ts │ │ ├── duplicate-operation-names-fix.spec.ts │ │ ├── fixtures/ │ │ │ ├── openapi-comprehensive.yaml │ │ │ ├── openapi-duplicate-operation-name.yaml │ │ │ ├── openapi-invalid-version.yaml │ │ │ ├── openapi-malformed.yaml │ │ │ ├── openapi-missing-info.yaml │ │ │ ├── openapi-newline-in-operation-name.yaml │ │ │ ├── openapi-path-grouping.json │ │ │ ├── openapi-simple.json │ │ │ ├── openapi-with-examples.yaml │ │ │ ├── openapi-with-security-schemes.json │ │ │ └── openapi-without-security-schemes.json │ │ ├── import-openapi-json.spec.ts │ │ ├── import-openapi-with-examples.spec.ts │ │ ├── import-openapi-yaml.spec.ts │ │ ├── malformed-yaml.spec.ts │ │ ├── missing-info.spec.ts │ │ ├── operation-name-with-newlines-fix.spec.ts │ │ ├── path-based-grouping.spec.ts │ │ └── security-schemes-import.spec.ts │ ├── postman/ │ │ ├── fixtures/ │ │ │ ├── postman-invalid-missing-info.json │ │ │ ├── postman-invalid-schema.json │ │ │ ├── postman-malformed.json │ │ │ ├── postman-v20.json │ │ │ ├── postman-v21.json │ │ │ └── postman-with-examples.json │ │ ├── import-postman-v20.spec.ts │ │ ├── import-postman-v21.spec.ts │ │ ├── import-postman-with-examples.spec.ts │ │ ├── invalid-json.spec.ts │ │ ├── invalid-missing-info.spec.ts │ │ ├── invalid-schema.spec.ts │ │ └── malformed-structure.spec.ts │ ├── test-data/ │ │ ├── sample-bruno.json │ │ ├── sample-insomnia.json │ │ ├── sample-openapi.yaml │ │ └── sample-postman.json │ ├── url-import/ │ │ ├── github-repository-import.spec.ts │ │ ├── insomnia-url-import.spec.ts │ │ ├── openapi-url-import.spec.ts │ │ └── postman-url-import.spec.ts │ └── wsdl/ │ ├── fixtures/ │ │ ├── wsdl-bruno.json │ │ └── wsdl.xml │ └── import-wsdl.spec.ts ├── interpolation/ │ ├── collection/ │ │ ├── bruno.json │ │ ├── echo-request-odata.bru │ │ └── echo-request-url.bru │ ├── dynamic-variable/ │ │ ├── collection/ │ │ │ ├── bruno.json │ │ │ └── set-var-dynamic-variable.bru │ │ ├── init-user-data/ │ │ │ └── preferences.json │ │ └── set-var-dynamic-variable.spec.ts │ ├── init-user-data/ │ │ ├── collection-security.json │ │ └── preferences.json │ ├── interpolate-request-url.spec.ts │ └── prompt-variables/ │ ├── fixtures/ │ │ ├── client.pfx │ │ └── collection/ │ │ ├── bruno.json │ │ ├── collection.bru │ │ ├── environments/ │ │ │ └── local.bru │ │ └── http-folder/ │ │ ├── folder.bru │ │ ├── http-request-without-ca.bru │ │ └── https-request-with-ca.bru │ ├── http-request-prompt-variables.spec.ts │ └── init-user-data/ │ ├── collection-security.json │ ├── global-environments.json │ ├── preferences.json │ └── ui-state-snapshot.json ├── onboarding/ │ ├── init-user-data/ │ │ └── preferences.json │ ├── init-user-data-fresh/ │ │ └── preferences.json │ ├── sample-collection.spec.ts │ └── welcome-modal.spec.ts ├── preferences/ │ ├── autosave/ │ │ └── autosave.spec.ts │ ├── default-collection-location/ │ │ ├── collection/ │ │ │ ├── bruno.json │ │ │ ├── collection.bru │ │ │ ├── environments/ │ │ │ │ └── Test.bru │ │ │ └── request.bru │ │ ├── default-collection-location.spec.js │ │ └── init-user-data/ │ │ ├── collection-security.json │ │ └── preferences.json │ ├── support-links.spec.js │ └── tab-switch-persistence/ │ └── tab-switch-persistence.spec.ts ├── protobuf/ │ ├── fixtures/ │ │ └── collection/ │ │ ├── HelloService/ │ │ │ ├── folder.bru │ │ │ └── sayHello.bru │ │ ├── bruno.json │ │ ├── collection.bru │ │ ├── environments/ │ │ │ └── GrpcEnv.bru │ │ └── protos/ │ │ ├── services/ │ │ │ ├── order.proto │ │ │ └── product.proto │ │ └── types/ │ │ └── product-message.proto │ ├── init-user-data/ │ │ ├── collection-security.json │ │ └── preferences.json │ └── manage-protofile.spec.ts ├── request/ │ ├── body-scroll/ │ │ └── body-scroll-restoration.spec.ts │ ├── collections/ │ │ └── custom-search/ │ │ ├── bruno.json │ │ ├── package.json │ │ └── search-request.bru │ ├── copy-request/ │ │ ├── copy-folder.spec.ts │ │ ├── copy-request.spec.ts │ │ └── keyboard-shortcuts.spec.ts │ ├── delete-request/ │ │ └── delete-request-sequence-updation.spec.ts │ ├── encoding/ │ │ ├── collection/ │ │ │ ├── bruno.json │ │ │ ├── encode-url-preencoded.bru │ │ │ ├── encode-url-unencoded.bru │ │ │ ├── raw-url-preencoded.bru │ │ │ └── raw-url-unencoded.bru │ │ ├── curl-encoding.spec.ts │ │ └── init-user-data/ │ │ ├── collection-security.json │ │ └── preferences.json │ ├── headers/ │ │ └── header-validation.spec.ts │ ├── newlines/ │ │ └── newlines-persistence.spec.ts │ ├── response-pane-update-when-focused.spec.ts │ ├── save/ │ │ └── save.spec.ts │ ├── settings/ │ │ ├── collection/ │ │ │ ├── bruno.json │ │ │ ├── max-redirects.bru │ │ │ ├── no-redirects.bru │ │ │ └── timeout.bru │ │ ├── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ ├── max-redirects.spec.ts │ │ ├── no-redirects.spec.ts │ │ └── timeout.spec.ts │ └── tests/ │ └── custom-search/ │ ├── custom-search.spec.ts │ └── init-user-data/ │ ├── collection-security.json │ └── preferences.json ├── response/ │ ├── json-response-formatting/ │ │ ├── fixtures/ │ │ │ └── collection/ │ │ │ ├── bruno.json │ │ │ └── request.bru │ │ ├── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ └── json-response-formatting.spec.ts │ ├── large-response-crash-prevention.spec.ts │ ├── response-actions.spec.ts │ └── response-format-select-and-preview/ │ ├── fixtures/ │ │ └── collection/ │ │ ├── bruno.json │ │ ├── request-html.bru │ │ └── request-json.bru │ ├── init-user-data/ │ │ ├── collection-security.json │ │ └── preferences.json │ └── response-format-select-and-preview.spec.ts ├── response-examples/ │ ├── create-example.spec.ts │ ├── edit-example.spec.ts │ ├── fixtures/ │ │ └── collection/ │ │ ├── bruno.json │ │ ├── create-example.bru │ │ ├── edit-example.bru │ │ └── menu-operations.bru │ ├── init-user-data/ │ │ ├── collection-security.json │ │ └── preferences.json │ └── menu-operations.spec.ts ├── runner/ │ ├── cli-env-combined/ │ │ ├── cli-env-combined.spec.ts │ │ └── collection/ │ │ ├── bruno.json │ │ ├── environments/ │ │ │ └── CollectionEnv.bru │ │ ├── global-env.json │ │ └── request.bru │ ├── cli-json-env-file/ │ │ ├── cli-json-env-file.spec.ts │ │ └── collection/ │ │ ├── bruno.json │ │ ├── env.json │ │ └── request.bru │ ├── collection-run-report/ │ │ ├── collection/ │ │ │ ├── api/ │ │ │ │ └── v1/ │ │ │ │ ├── posts.bru │ │ │ │ └── users.bru │ │ │ ├── auth/ │ │ │ │ ├── login.bru │ │ │ │ └── logout.bru │ │ │ └── bruno.json │ │ ├── collection-run-report.spec.ts │ │ └── collection-run-report.spec.ts-snapshots/ │ │ ├── cli-junit-report-default-darwin.xml │ │ └── cli-junit-report-default-linux.xml │ ├── collection-run.ts │ └── init-user-data/ │ └── preferences.json ├── scratch-requests/ │ └── scratch-requests.spec.ts ├── scripting/ │ ├── bru-api/ │ │ └── isSafeMode/ │ │ ├── fixtures/ │ │ │ └── collections/ │ │ │ └── is-safe-mode-test/ │ │ │ ├── bruno.json │ │ │ ├── test-safe-mode-false.bru │ │ │ └── test-safe-mode-true.bru │ │ ├── init-user-data/ │ │ │ ├── collection-security.json │ │ │ └── preferences.json │ │ └── isSafeMode.spec.ts │ ├── inbuilt-libraries/ │ │ ├── fs/ │ │ │ ├── fixtures/ │ │ │ │ └── collections/ │ │ │ │ └── should_allow_fs/ │ │ │ │ ├── bruno.json │ │ │ │ └── request.bru │ │ │ ├── fs.spec.ts │ │ │ └── init-user-data/ │ │ │ └── preferences.json │ │ └── jsonwebtoken/ │ │ ├── fixtures/ │ │ │ └── collection/ │ │ │ ├── bruno.json │ │ │ ├── decode/ │ │ │ │ ├── decode.bru │ │ │ │ └── folder.bru │ │ │ ├── environments/ │ │ │ │ └── Prod.bru │ │ │ ├── sign/ │ │ │ │ ├── folder.bru │ │ │ │ ├── sign with callback err.bru │ │ │ │ ├── sign with callback token.bru │ │ │ │ └── sign.bru │ │ │ └── verify/ │ │ │ ├── folder.bru │ │ │ ├── verify with callback err.bru │ │ │ ├── verify with callback token.bru │ │ │ └── verify.bru │ │ ├── init-user-data/ │ │ │ ├── preferences.json │ │ │ └── ui-state-snapshot.json │ │ └── jsonwebtoken.spec.ts │ └── url-helpers/ │ ├── fixtures/ │ │ └── collections/ │ │ └── url_helpers_test/ │ │ ├── bruno.json │ │ └── url-helpers-test.bru │ ├── init-user-data/ │ │ └── preferences.json │ └── url-helpers.spec.ts ├── sidebar/ │ ├── rename-collection-item.spec.ts │ └── section-auto-expand.spec.ts ├── ssl/ │ ├── basic-ssl/ │ │ ├── collections/ │ │ │ ├── badssl/ │ │ │ │ ├── bruno.json │ │ │ │ ├── package.json │ │ │ │ └── request.bru │ │ │ └── self-signed-badssl/ │ │ │ ├── bruno.json │ │ │ ├── package.json │ │ │ └── request.bru │ │ └── tests/ │ │ ├── basic-ssl-success/ │ │ │ ├── basic-ssl-success.spec.ts │ │ │ └── init-user-data/ │ │ │ └── preferences.json │ │ ├── self-signed-rejected/ │ │ │ ├── init-user-data/ │ │ │ │ └── preferences.json │ │ │ └── self-signed-rejected.spec.ts │ │ └── self-signed-success-with-validation-disabled/ │ │ ├── init-user-data/ │ │ │ └── preferences.json │ │ └── self-signed-success-with-validation-disabled.spec.ts │ └── custom-ca-certs/ │ ├── collection/ │ │ ├── bruno.json │ │ ├── package.json │ │ └── request.bru │ ├── server/ │ │ ├── .gitignore │ │ ├── helpers/ │ │ │ ├── certs.js │ │ │ └── platform.js │ │ ├── index.js │ │ ├── readme.md │ │ └── scripts/ │ │ └── generate-certs.js │ └── tests/ │ ├── custom-invalid-ca-cert-in-config/ │ │ ├── custom-invalid-ca-cert-in-config.spec.ts │ │ └── init-user-data/ │ │ └── preferences.json │ ├── custom-invalid-ca-cert-in-config-with-defaults/ │ │ ├── custom-invalid-ca-cert-in-config-with-defaults.spec.ts │ │ └── init-user-data/ │ │ └── preferences.json │ ├── custom-valid-ca-cert-in-config/ │ │ ├── custom-valid-ca-cert-in-config.spec.ts │ │ └── init-user-data/ │ │ └── preferences.json │ ├── custom-valid-ca-cert-in-config-with-defaults/ │ │ ├── custom-valid-ca-cert-in-config-with-defaults.spec.ts │ │ └── init-user-data/ │ │ └── preferences.json │ └── wss-success/ │ ├── fixtures/ │ │ └── wss-collection/ │ │ ├── bruno.json │ │ ├── package.json │ │ └── ws-ssl-request.bru │ ├── init-user-data/ │ │ └── preferences.json │ └── wss-success.spec.ts ├── start/ │ └── app-open.spec.ts ├── transient-requests/ │ └── transient-requests.spec.ts ├── utils/ │ ├── page/ │ │ ├── actions.ts │ │ ├── index.ts │ │ ├── locators.ts │ │ ├── navigation.ts │ │ └── runner.ts │ └── wait.ts ├── variable-tooltip/ │ └── variable-tooltip.spec.ts ├── websockets/ │ ├── connection.spec.ts │ ├── fixtures/ │ │ └── collection/ │ │ ├── base.bru │ │ ├── bruno.json │ │ ├── collection.bru │ │ ├── ws-test-request-with-headers.bru │ │ ├── ws-test-request-with-query.bru │ │ ├── ws-test-request-with-subproto.bru │ │ └── ws-test-request.bru │ ├── headers.spec.ts │ ├── init-user-data/ │ │ ├── collection-security.json │ │ └── preferences.json │ ├── persistence.spec.ts │ ├── query.spec.ts │ ├── subproto.spec.ts │ └── variable-interpolation/ │ ├── fixtures/ │ │ └── collection/ │ │ ├── bruno.json │ │ ├── environments/ │ │ │ └── Test.bru │ │ └── ws-interpolation-test.bru │ ├── init-user-data/ │ │ └── preferences.json │ └── variable-interpolation.spec.ts └── workspace/ ├── close-tab-stays-in-workspace.spec.ts ├── collection-reorder-persistence.spec.ts ├── create-workspace/ │ ├── create-workspace.spec.ts │ └── init-user-data/ │ └── preferences.json └── default-workspace/ ├── default-workspace.spec.ts ├── migration.spec.ts └── recovery-and-backup.spec.ts