* crate: Set default binary to gamedig-cli
* crate: Fix bad no-default-features option on gamedig-id dependency
* ci: Run tests when Cargo.toml changes
* id-tests: Clippy fixes
* tidy: Move TimeoutSettings out of protocol types
* tidy: Move game type to a types file
* tidy: Move generic query functions to own file
* tidy: Move ExtraRequestSettings to game types
* tidy: Move generic query functions into games module
* Revert "tidy: Move ExtraRequestSettings to game types"
This reverts commit aa0d23fc2acc12d68f03265a9caff6f98bf25054.
* Revert "tidy: Move TimeoutSettings out of protocol types"
This reverts commit 7ee10711ed11f17cc06565d4cc9102040d53a319.
* tidy: Re-export types needed for query at the root
* Add/Update badge
---------
Co-authored-by: GitHub Action <action@github.com>
* 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>