chore(web): Update to base64 0.21 (#1235)

This commit is contained in:
tottoto
2023-01-12 02:16:59 +09:00
committed by GitHub
parent ee6ccfbcc2
commit 63f2e95be3
3 changed files with 28 additions and 3 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ version = "0.1.0"
license = "MIT"
[dependencies]
base64 = "0.13"
base64 = "0.21"
bytes = "1.0"
hyper = "0.14"
prost = "0.11"
+19
View File
@@ -67,3 +67,22 @@ impl Test for Svc {
))
}
}
pub mod util {
pub mod base64 {
use base64::{
alphabet,
engine::{
general_purpose::{GeneralPurpose, GeneralPurposeConfig},
DecodePaddingMode,
},
};
pub const STANDARD: GeneralPurpose = GeneralPurpose::new(
&alphabet::STANDARD,
GeneralPurposeConfig::new()
.with_encode_padding(true)
.with_decode_padding_mode(DecodePaddingMode::Indifferent),
);
}
}
@@ -1,5 +1,6 @@
use std::net::SocketAddr;
use base64::Engine as _;
use bytes::{Buf, BufMut, Bytes, BytesMut};
use hyper::http::{header, StatusCode};
use hyper::{Body, Client, Method, Request, Uri};
@@ -110,7 +111,9 @@ fn build_request(base_uri: String, content_type: &str, accept: &str) -> Request<
let bytes = match content_type {
"grpc-web" => encode_body(),
"grpc-web-text" => base64::encode(encode_body()).into(),
"grpc-web-text" => integration::util::base64::STANDARD
.encode(encode_body())
.into(),
_ => panic!("invalid content type {}", content_type),
};
@@ -128,7 +131,10 @@ async fn decode_body(body: Body, content_type: &str) -> (Output, Bytes) {
let mut body = hyper::body::to_bytes(body).await.unwrap();
if content_type == "application/grpc-web-text+proto" {
body = base64::decode(body).unwrap().into()
body = integration::util::base64::STANDARD
.decode(body)
.unwrap()
.into()
}
body.advance(1);