diff --git a/rbx_asset/src/cloud.rs b/rbx_asset/src/cloud.rs index 4510243..30ee5f3 100644 --- a/rbx_asset/src/cloud.rs +++ b/rbx_asset/src/cloud.rs @@ -1,4 +1,4 @@ -use crate::ResponseError; +use crate::{ResponseError,ReaderType,maybe_gzip_decode,read_readable}; #[derive(Debug,serde::Deserialize,serde::Serialize)] #[allow(nonstandard_style,dead_code)] @@ -297,25 +297,6 @@ impl RobloxOperation{ } } -//idk how to do this better -enum ReaderType<R:std::io::Read>{ - GZip(flate2::read::GzDecoder<std::io::BufReader<R>>), - Raw(std::io::BufReader<R>), -} -fn maybe_gzip_decode<R:std::io::Read>(input:R)->std::io::Result<ReaderType<R>>{ - let mut buf=std::io::BufReader::new(input); - let peek=std::io::BufRead::fill_buf(&mut buf)?; - match &peek[0..2]{ - b"\x1f\x8b"=>Ok(ReaderType::GZip(flate2::read::GzDecoder::new(buf))), - _=>Ok(ReaderType::Raw(buf)), - } -} -fn read_readable(mut readable:impl std::io::Read)->std::io::Result<Vec<u8>>{ - let mut contents=Vec::new(); - readable.read_to_end(&mut contents)?; - Ok(contents) -} - #[derive(Clone)] pub struct ApiKey(String); impl ApiKey{ diff --git a/rbx_asset/src/cookie.rs b/rbx_asset/src/cookie.rs index dbf046d..7ad53f2 100644 --- a/rbx_asset/src/cookie.rs +++ b/rbx_asset/src/cookie.rs @@ -1,4 +1,4 @@ -use crate::ResponseError; +use crate::{ResponseError,ReaderType,maybe_gzip_decode,read_readable}; #[derive(Debug)] pub enum PostError{ @@ -306,25 +306,6 @@ pub struct UserInventoryPageResponse{ pub data:Vec<UserInventoryItem>, } -//idk how to do this better -enum ReaderType<R:std::io::Read>{ - GZip(flate2::read::GzDecoder<std::io::BufReader<R>>), - Raw(std::io::BufReader<R>), -} -fn maybe_gzip_decode<R:std::io::Read>(input:R)->std::io::Result<ReaderType<R>>{ - let mut buf=std::io::BufReader::new(input); - let peek=std::io::BufRead::fill_buf(&mut buf)?; - match &peek[0..2]{ - b"\x1f\x8b"=>Ok(ReaderType::GZip(flate2::read::GzDecoder::new(buf))), - _=>Ok(ReaderType::Raw(buf)), - } -} -fn read_readable(mut readable:impl std::io::Read)->std::io::Result<Vec<u8>>{ - let mut contents=Vec::new(); - readable.read_to_end(&mut contents)?; - Ok(contents) -} - #[derive(Clone)] pub struct Cookie(String); impl Cookie{ diff --git a/rbx_asset/src/lib.rs b/rbx_asset/src/lib.rs index 7728978..c41ff74 100644 --- a/rbx_asset/src/lib.rs +++ b/rbx_asset/src/lib.rs @@ -20,7 +20,7 @@ impl std::fmt::Display for ResponseError{ } impl std::error::Error for ResponseError{} // lazy function to draw out meaningful info from http response on failure -pub async fn response_ok(response:reqwest::Response)->Result<reqwest::Response,ResponseError>{ +pub(crate) async fn response_ok(response:reqwest::Response)->Result<reqwest::Response,ResponseError>{ let status_code=response.status(); if status_code.is_success(){ Ok(response) @@ -35,3 +35,22 @@ pub async fn response_ok(response:reqwest::Response)->Result<reqwest::Response,R })) } } + +//idk how to do this better +pub(crate) enum ReaderType<R:std::io::Read>{ + GZip(flate2::read::GzDecoder<std::io::BufReader<R>>), + Raw(std::io::BufReader<R>), +} +pub(crate) fn maybe_gzip_decode<R:std::io::Read>(input:R)->std::io::Result<ReaderType<R>>{ + let mut buf=std::io::BufReader::new(input); + let peek=std::io::BufRead::fill_buf(&mut buf)?; + match &peek[0..2]{ + b"\x1f\x8b"=>Ok(ReaderType::GZip(flate2::read::GzDecoder::new(buf))), + _=>Ok(ReaderType::Raw(buf)), + } +} +pub(crate) fn read_readable(mut readable:impl std::io::Read)->std::io::Result<Vec<u8>>{ + let mut contents=Vec::new(); + readable.read_to_end(&mut contents)?; + Ok(contents) +}