summaryrefslogtreecommitdiffstats
path: root/third_party/rust/headers/src/disabled/util/encoding.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /third_party/rust/headers/src/disabled/util/encoding.rs
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/headers/src/disabled/util/encoding.rs')
-rw-r--r--third_party/rust/headers/src/disabled/util/encoding.rs57
1 files changed, 57 insertions, 0 deletions
diff --git a/third_party/rust/headers/src/disabled/util/encoding.rs b/third_party/rust/headers/src/disabled/util/encoding.rs
new file mode 100644
index 0000000000..fc972dd3c7
--- /dev/null
+++ b/third_party/rust/headers/src/disabled/util/encoding.rs
@@ -0,0 +1,57 @@
+use std::fmt;
+use std::str;
+
+pub use self::Encoding::{Chunked, Brotli, Gzip, Deflate, Compress, Identity, EncodingExt, Trailers};
+
+/// A value to represent an encoding used in `Transfer-Encoding`
+/// or `Accept-Encoding` header.
+#[derive(Clone, PartialEq, Debug)]
+pub enum Encoding {
+ /// The `chunked` encoding.
+ Chunked,
+ /// The `br` encoding.
+ Brotli,
+ /// The `gzip` encoding.
+ Gzip,
+ /// The `deflate` encoding.
+ Deflate,
+ /// The `compress` encoding.
+ Compress,
+ /// The `identity` encoding.
+ Identity,
+ /// The `trailers` encoding.
+ Trailers,
+ /// Some other encoding that is less common, can be any String.
+ EncodingExt(String)
+}
+
+impl fmt::Display for Encoding {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ f.write_str(match *self {
+ Chunked => "chunked",
+ Brotli => "br",
+ Gzip => "gzip",
+ Deflate => "deflate",
+ Compress => "compress",
+ Identity => "identity",
+ Trailers => "trailers",
+ EncodingExt(ref s) => s.as_ref()
+ })
+ }
+}
+
+impl str::FromStr for Encoding {
+ type Err = ::Error;
+ fn from_str(s: &str) -> ::Result<Encoding> {
+ match s {
+ "chunked" => Ok(Chunked),
+ "br" => Ok(Brotli),
+ "deflate" => Ok(Deflate),
+ "gzip" => Ok(Gzip),
+ "compress" => Ok(Compress),
+ "identity" => Ok(Identity),
+ "trailers" => Ok(Trailers),
+ _ => Ok(EncodingExt(s.to_owned()))
+ }
+ }
+}