summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-Antoine Perennou <Marc-Antoine@Perennou.com>2020-06-03 09:46:13 +0200
committerMarc-Antoine Perennou <Marc-Antoine@Perennou.com>2020-06-03 09:46:13 +0200
commitdd567907e027200a4f18bc05d7c0f5acb9648d5a (patch)
tree0e213026366b175b975638c6431811d5c1c147f2
parent6469dee30db282a2ac1d7a09b8e66c598364e3d1 (diff)
update percent-encoding
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
-rw-r--r--Cargo.toml2
-rw-r--r--src/ser.rs27
2 files changed, 8 insertions, 21 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 0759193..3b296e0 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -19,7 +19,7 @@ repository = "samscott89/serde_qs"
actix-web = { version ="1.0.0", optional = true }
data-encoding = "2.1.2"
error-chain = "0.12.0"
-percent-encoding = "1.0.1"
+percent-encoding = "2.1.0"
serde = "1.0.85"
[dev-dependencies]
diff --git a/src/ser.rs b/src/ser.rs
index 1530edc..9086ad2 100644
--- a/src/ser.rs
+++ b/src/ser.rs
@@ -1,7 +1,7 @@
//! Serialization support for querystrings.
use data_encoding::BASE64URL_NOPAD as BASE64;
-use percent_encoding::{percent_encode, EncodeSet};
+use percent_encoding::{percent_encode, AsciiSet, NON_ALPHANUMERIC};
use serde::ser;
use error::*;
@@ -11,25 +11,12 @@ use std::fmt::Display;
use std::io::Write;
use std::str;
-#[allow(non_camel_case_types)]
-#[derive(Clone)]
-struct QS_ENCODE_SET;
-
-impl EncodeSet for QS_ENCODE_SET {
- fn contains(&self, byte: u8) -> bool {
- match byte {
- b' '
- | b'*'
- | b'-'
- | b'.'
- | b'0'..=b'9'
- | b'A'..=b'Z'
- | b'_'
- | b'a'..=b'z' => false,
- _ => true,
- }
- }
-}
+const QS_ENCODE_SET: &AsciiSet = &NON_ALPHANUMERIC
+ .remove(b' ')
+ .remove(b'*')
+ .remove(b'-')
+ .remove(b'.')
+ .remove(b'_');
/// Serializes a value into a querystring.
///