mirror of
https://github.com/tribufu/rust-gamedig
synced 2026-06-01 09:42:41 +00:00
Various improvements for the CLI (#159)
* cli: Do DNS lookup if host is not an IP address * cli: Add option to output as JSON * cli: Pass hostname to ExtraRequestSettings if it isn't an IP * cli: Add help docs to all arguments * cli: Add options for all extra request settings * cli: Use a CLI only error for DNS * cli: Add option to set timeout settings * docs: Update CHANGELOG * cli: Add default values to TimeoutSettings * cli: Refactor finding game definition into its own function Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com> * cli: Refactor IP resolution into its own set of functions Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com> * cli: Refactor output formatting into its own functions Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com> * cli: Improve doc comments for CLI args and derive Debug Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com> * protocols: Derive Serialize for versioned generic responses This allows for serializing the output of as_original(). We cannot also derive Deserialize here because the enums use references to the inner types, which is unavoidable in the current implementation because as_original() takes a reference to self. * cli: Add the output mode options This allows selected whether to use CommonResponse or the original response struct when outputting. * cli: Fix ExtraRequestSettings docs showing up in help output * cli: Add help headings for timeouts and extra request settings --------- Co-authored-by: Cain <75994858+cainthebest@users.noreply.github.com>
This commit is contained in:
parent
b3a29b15b1
commit
7510fe3de0
9 changed files with 209 additions and 13 deletions
|
|
@ -10,7 +10,15 @@ edition = "2021"
|
|||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[features]
|
||||
default = ["json"]
|
||||
json = ["dep:serde", "dep:serde_json", "gamedig/serde"]
|
||||
|
||||
[dependencies]
|
||||
clap = { version = "4.1.11", features = ["derive"] }
|
||||
gamedig = { version = "*", path = "../lib" }
|
||||
gamedig = { version = "*", path = "../lib", features = ["clap"] }
|
||||
thiserror = "1.0.43"
|
||||
|
||||
# JSON dependencies
|
||||
serde = { version = "1", optional = true }
|
||||
serde_json = { version = "1", optional = true }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue