Commit Graph

91 Commits

Author SHA1 Message Date
D. Scott Boggs 1e4b2e0adb use serde_json's to_writer 2023-01-03 07:13:25 -05:00
Matthias Beyer dbbdb8e5c0 Add error variant for when not all bytes are written
cargo-clippy tells us that the `crate::helpers::json::to_writer` and
`crate::helpers::toml::to_writer` functions were implemented without
checking the return value of the `write()` function called inside.

That might lead to serious issues on the user site, if indeed not all
bytes were written.

This patch fixes the issue of the user not knowning about the issue by
introducing a new error variant and returning it in case of unfinished
writes.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2023-01-03 07:13:25 -05:00
Matthias Beyer c32f628c49 Make Registered::complete() accept an AsRef<str>
This patch changes the signature of `Registered::complete` to accept an
`AsRef<str>`. This _should_ be backwards compatible to the old version.

This change was implemented as it has the neat benefit that a user can
implement a type that does not implement `Debug` or `Display`, but only
`AsRef<str>`.
This can be done to ensure that the access code is not accidentially
shown in log output, which might be pasted to some code forge for bug
reporting.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-29 14:07:09 -05:00
D. Scott Boggs f037379d0f drop dependency on hyper-old-types in favor of parse_link_header 2022-12-29 14:06:07 -05:00
Matthias Beyer 5832111f46 Replace dependency "chrono" with "time"
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-29 13:43:26 -05:00
D. Scott Boggs 96fbef900e Change error implementation to use thiserror 2022-12-29 13:27:41 -05:00
Matthias Beyer c689b8390c Run cargo-fmt on whole codebase
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-29 07:14:00 -05:00
D. Scott Boggs 351bb0741b spelling and clippy fixes 2022-12-29 06:41:57 -05:00
Matthias Beyer 963a3323ea Optimize: Remove clone() call
This patch makes the `Headers` helper type that is only used to be able
to implement Serialize on it only contain a reference to the actual
headers. This way we don't need to clone() the object returned by
`reqwest::Repsonse::headers()`.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-29 05:58:30 -05:00
D. Scott Boggs 5c764185bb Rewrite awkward code 2022-12-28 15:35:39 -05:00
D. Scott Boggs f82725c9dc Add dependency on percent_encoding
percent_encoding used to be a part of url before v2.
2022-12-28 09:39:49 -05:00
D. Scott Boggs 4fb24a5a21 Drop the magic bullshit
There were too many false positive responses from libmagic to have this
just happen in the background. In a future release I may add a specific
error which is returned when the given file has no extension, and
downstream application developers can use that as an indicator that they
should ask the user if they want to detect the filetype, making use of
libmagic directly in the downstream application as appropriate.
2022-12-28 08:49:43 -05:00
D. Scott Boggs 7653513c6f Wrap magic cookie in a mutex
This commit also includes benchmarks proving the viability of reloading the
magic database for every filetype request, should that become necessary.
2022-12-28 08:49:43 -05:00
Matthias Beyer 29463764c1
Fix clippy: Derive Eq for Data
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:08:43 +01:00
Matthias Beyer afb3f59fc7
Fix clippy: Derive Eq for MediaType
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:08:24 +01:00
Matthias Beyer 8cfe447aa1
Fix clippy: Derive Eq for Card
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:08:13 +01:00
Matthias Beyer ee4e00affd
Fix clippy: Derive Eq for Filter
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:07:51 +01:00
Matthias Beyer 609ddc895b
Fix clippy: Derive Eq for AddFilterRequest
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:07:24 +01:00
Matthias Beyer 789fbd69f5
Fix clippy: Derive Eq for FilterContext
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:05:52 +01:00
Matthias Beyer bf9bad441f
Fix clippy: Derive Eq for StreamingApi
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:05:31 +01:00
Matthias Beyer 738d97d65f
Fix clippy: Derive Eq for Stats
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:05:05 +01:00
Matthias Beyer 0e2ee6717f
Fix clippy: Derive Eq for List
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:04:53 +01:00
Matthias Beyer e3539a46ba
Fix clippy: Derive Eq for Mention
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:04:40 +01:00
Matthias Beyer eaea2a50bd
Fix clippy: Derive Eq for Form
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:04:15 +01:00
Matthias Beyer 4cadd9b937
Fix clippy: Derive Eq for Data
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:04:11 +01:00
Matthias Beyer 9cec1a7384
Fix clippy: Derive Eq for Data
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:04:05 +01:00
Matthias Beyer fcb8dc9e07
Fix clippy: Derive Eq for Keys
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:03:57 +01:00
Matthias Beyer 31ad0beec1
Fix clippy: Derive Eq for Subscription
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:03:43 +01:00
Matthias Beyer bb31b91933
Fix clippy: Derive Eq for Subscription
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:03:24 +01:00
Matthias Beyer 8ee0de9a6f
Fix clippy: Derive Eq for Alerts
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:03:11 +01:00
Matthias Beyer b97dc8ca3e
Fix: Tag type is not able to derive Eq
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:01:54 +01:00
Matthias Beyer adac287450
Fix: Notification type is not able to derive Eq
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:01:42 +01:00
Matthias Beyer 998c477818
Fix clippy: Derive Eq for NotificationType
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:01:06 +01:00
Matthias Beyer 0ba5ca3599
Fix clippy: Derive Eq for Relationship
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:00:32 +01:00
Matthias Beyer 6c65b022ff
Fix clippy: Derive Eq for Report
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 19:00:10 +01:00
Matthias Beyer afe132ae5b
Fix clippy: Derive Eq for TagHistory
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:59:18 +01:00
Matthias Beyer 759f651c4f
Fix clippy: Derive Eq for Application
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:59:13 +01:00
Matthias Beyer a7165cd695
Fix clippy: Derive Eq for Emoji
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:59:08 +01:00
Matthias Beyer 28ae442565
Fix clippy: Derive Eq for Mention
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:59:01 +01:00
Matthias Beyer 3f70aba8bd
Fix clippy: Derive Eq for UpdateCredsRequest
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:58:29 +01:00
Matthias Beyer a383625210
Fix clippy: Derive Eq for Credentials
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:56:42 +01:00
Matthias Beyer fea0a25b9a
Fix clippy: Derive Eq for UpdateSource
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:56:34 +01:00
Matthias Beyer f79c0980c7
Fix clippy: Derive Eq for BoolOrString
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:56:26 +01:00
Matthias Beyer bc144c5a65
Fix clippy: Derive Eq for Source
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:56:18 +01:00
Matthias Beyer 8572585774
Fix clippy: Derive Eq for MetadataField
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:53:09 +01:00
Matthias Beyer e53ef65d6d
Fix clippy: Derive Eq for Empty
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:52:43 +01:00
Matthias Beyer 3757ab90b8
Fix clippy: Derive Eq for UpdatePushRequest
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:52:16 +01:00
Matthias Beyer 3e7bd2605f
Fix clippy: Derive Eq for AddPushRequest
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:51:56 +01:00
Matthias Beyer e0b686fb27
Fix clippy: Derive Eq for Keys
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:51:45 +01:00
Matthias Beyer cb4c0c24a9
Fix clippy: Derive Eq for StatusesRequest
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-12-27 18:50:58 +01:00