* feat: add recursive interpolate
fixes#2227
* test(bruno-common): fix test with 3 level of recursion
* fix(bruno-common): add ability to reference the same variable repeatedly
fix#2005
- display post request variable evaluation errors in a toast, each individual variable error on a new line
- display the response body (was previously replaced by the an error "Error invoking remote method 'send-http-request': ..."
This change moves informational command outputs from console.log (prints on stdout) to console.warn/console.error (prints on stderr)
to enable stdout processing in pipelines.
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* Check OAuth2 redirect URL for matching callback URL and authorization code in query parameters
In an Authorization code flow, there may be multiple intermediate redirects before reaching the final one which matches the callback URL and has a code in the query params.
We should wait until we see a redirect URI that matches both the conditions. This fixes the issue where, when a redirect contains `code` as a query param but is not the final one (i.e., is not to the callback URL) an error is thrown saying the callback URL is invalid.
Fixes#2147
* Add test cases for callback URL check
* Update check to cover URLs with same host but different endpoints
* feat: add support for state param
* chore: revert package-lock.json
* test: update tests with state param
* chore: revert package-lock.json
* chore: add state to missing places
* Adding state to PKCE toggle
---------
Co-authored-by: Kadam Dhananjay <kadamdhananjay@johndeere.com>
* feat: path parameters (#484)
* add path parameters on bruno-app
* add path parameters on bruno-cli
* fix bruno-schema testing
* fix generate request code not replace path parameter value
---------
Co-authored-by: game5413 <febryanph10@gmail.com>
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* feat: Refactor request parameter handling
- Update prepare-request.js to filter and rename 'paths' to 'params' with type 'path'
- Remove 'paths' from export.js and interpolate-vars.js
- Update bru.js to use 'params' instead of 'path'
- Update requestSchema in index.js to use 'keyValueWithTypeSchema' for 'params'
Co-authored-by: game5413 <febryanph10@gmail.com>
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* feat: Refactor request parameter handling
* refactor: changes form the review
* refactor: Refactor transformItemsInCollection handling
* refactor: Refactor improved export/import functionalities
* refactor: Remove console.log statement in bruToJson.js
---------
Co-authored-by: game5413 <37659721+game5413@users.noreply.github.com>
Co-authored-by: game5413 <febryanph10@gmail.com>
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* fix(#1003): content type for client_credentials & password grant types
* feature(#1003): added client is & secret for password credentials grant type
* fix: filter out non-printable control character and ZWNBSP character
* fix: filter out non-printable control character and ZWNBSP character
* remove ZWNBSP character from response body
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* fix(#1003): content type for client_credentials & password grant types
* feature(#1003): added client is & secret for password credentials grant type
* fix: filter out non-printable control character and ZWNBSP character
* fix: filter out non-printable control character and ZWNBSP character
* Now added the ability to import and export js values. changes made in item schema.
* Improvements upon review
* Fixes.
* refactor: removed the copyRequest function and wrote the logic directly inside the copyItems function.
* refactor: Update getBrunoJsonConfig function to remove unnecessary parameter
* refactor: Update getBrunoJsonConfig function to remove unnecessary parameter and handle auth object dynamically
* refactor: Update OAuth2 grantType handling in transformCollectionToSaveToExportAsFile function
* refactor: Update getBrunoJsonConfig function to remove unnecessary async
* trying to begin changes
* Env bug fixed with only switching env when saved
* dialog box working, formik in EnvironmentSettings to pass props, selectedEnvironment in EnvrionmentSettings to pass props
* Removing some uneccessary comments
* no immediate following dialog pop up after warning dialog
* Wrapping commit warning moidal in CreatePortal, removing unnecessary isModified state, removing comments
* modifying dialog and adding formik back to EnvironmentVariables
* Removing unnecessary comments
---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
* Toggle password in ProxySettings
Input 'password' in ProxySettings (Preferences) can be toggled to be visible or not.
* Solving button overlap
- Button to toggle password won't cover the text;
- Added toggle password feature in CollectionSettings (ClientCertSettings and ProxySettings).
* Refactor Bruno language parser to support multiline text blocks
* Refactor SingleLineEditor component to allow newlines and adjust height dynamically
* Refactor SingleLineEditor component to fix overflow issue
* Fix overflow issue in SingleLineEditor component
* Refactor SingleLineEditor and MultiLineEditor components to fix overflow issues and allow newlines
* Fix overflow and scrolling issues in MultiLineEditor component
---------
Co-authored-by: Sanjai Kumar <sk@sk.local>
* fix(#1003): content type for client_credentials & password grant types
* feature(#1003): added client is & secret for password credentials grant type
Added Microsoft's node-jsonc-parser library that is able to format json
with comments. Seems to handle bigints properly too.
It may be good to consider replacing existing `decomment` library with
`jsonc-parser` if its only use case is to decomment json.
Fixes usebruno#1830
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
Adjusting modal z-index to ensure that underlying components do not overlap the modal. This change ensures that the prettier button in a POST body no longer overlaps modal windows.
Due to changes in https://github.com/usebruno/bruno/pull/650
collection variables would be passed as a object but was exptected
to be an array. Collection variables are now converted to an array.
* feat: show unsaved changes alert while renaming request
* fix: save unsaved request changes silently instead of showing dialog
* fix: save unsaved request changes before renaming