nushell/crates
Zack Penn 3ea027a136
Make user parameter optional in fetch (#7680)
# Description

This commit makes the `user` parameter optional in the `fetch` command.
Previously when attempting to _only_ pass a `password`, the command
would ignore authentication. Now when a `user` is not supplied, but a
`password` is, an empty user is implied.

Before this PR, consider the following:
```nushell
fetch -password "mypassword" $url
```
This would result in the `password` parameter being ignored entirely.

Now, with changes made in this PR, consider the same code snippet as
above. The following HTTP header will be used:
```
Authentication: Basic <base64_encode(":{password}")>
```
Note that the `user` field is implied as empty if one is not supplied
when `password` is.

# User-Facing Changes

* `fetch` now supports `password`-only authentication, using an empty
`user` if one is not supplied.

# Tests + Formatting

Don't forget to add tests that cover your changes.

Make sure you've run and fixed any issues with these commands:

- `cargo fmt --all -- --check` to check standard code formatting (`cargo
fmt --all` applies these changes)
- `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A
clippy::needless_collect` to check that you're using the standard code
style
- `cargo test --workspace` to check that all tests pass

# After Submitting

If your PR had any user-facing changes, update [the
documentation](https://github.com/nushell/nushell.github.io) after the
PR is merged, if necessary. This will help us keep the docs up to date.
2023-01-04 19:57:56 -08:00
..
nu_plugin_custom_values Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_example Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_gstat Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_inc Make get hole errors and cell path hole errors identical (improvement on #7002) (#7647) 2023-01-02 14:45:43 -08:00
nu_plugin_python Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
nu_plugin_query Further cleanup of Span::test_data usage + span fixes (#7595) 2022-12-24 07:41:57 -06:00
nu-cli Extend config support from F1-F12 to F1-F20, #7666 (#7669) 2023-01-03 22:00:21 +01:00
nu-color-config Fix #7551 record support in color_config (#7567) 2022-12-22 12:55:50 +01:00
nu-command Make user parameter optional in fetch (#7680) 2023-01-04 19:57:56 -08:00
nu-engine Limit recursion to avoid stack overflow (#7657) 2023-01-04 18:38:50 -08:00
nu-explore Make get hole errors and cell path hole errors identical (improvement on #7002) (#7647) 2023-01-02 14:45:43 -08:00
nu-glob Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-json Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-parser Limit recursion to avoid stack overflow (#7657) 2023-01-04 18:38:50 -08:00
nu-path Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
nu-plugin Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-pretty-hex Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-protocol Limit recursion to avoid stack overflow (#7657) 2023-01-04 18:38:50 -08:00
nu-system Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-table Fix table expand wrap in case no header is there (#7605) 2022-12-27 07:44:34 -06:00
nu-term-grid Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
nu-test-support Primitives now use color closures when printed on the command line (#7650) 2023-01-03 23:59:10 -08:00
nu-utils Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00

Nushell core libraries and plugins

These sub-crates form both the foundation for Nu and a set of plugins which extend Nu with additional functionality.

Foundational libraries are split into two kinds of crates:

  • Core crates - those crates that work together to build the Nushell language engine
  • Support crates - a set of crates that support the engine with additional features like JSON support, ANSI support, and more.

Plugins are likewise also split into two types:

  • Core plugins - plugins that provide part of the default experience of Nu, including access to the system properties, processes, and web-connectivity features.
  • Extra plugins - these plugins run a wide range of different capabilities like working with different file types, charting, viewing binary data, and more.