parent
68ebbad7a7
commit
5a4ac0e7f2
@ -31,6 +31,8 @@ pub enum CreateError{
|
||||
response:String,
|
||||
err:std::num::ParseIntError,
|
||||
},
|
||||
VersionHeaderMissing,
|
||||
ToStr(reqwest::header::ToStrError),
|
||||
}
|
||||
impl std::fmt::Display for CreateError{
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
@ -59,6 +61,8 @@ pub enum UploadError{
|
||||
response:String,
|
||||
err:std::num::ParseIntError,
|
||||
},
|
||||
VersionHeaderMissing,
|
||||
ToStr(reqwest::header::ToStrError),
|
||||
}
|
||||
impl std::fmt::Display for UploadError{
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
@ -70,6 +74,7 @@ impl std::error::Error for UploadError{}
|
||||
#[allow(nonstandard_style,dead_code)]
|
||||
pub struct UploadResponse{
|
||||
pub AssetId:u64,
|
||||
pub AssetVersion:u64,
|
||||
}
|
||||
|
||||
#[allow(nonstandard_style,dead_code)]
|
||||
@ -387,12 +392,23 @@ impl CookieContext{
|
||||
}
|
||||
let response=crate::response_ok(
|
||||
self.post(url,body).await.map_err(CreateError::PostError)?
|
||||
).await.map_err(CreateError::Response)?
|
||||
.text().await.map_err(CreateError::Reqwest)?;
|
||||
).await.map_err(CreateError::Response)?;
|
||||
|
||||
let version_str=response
|
||||
.headers()
|
||||
.get("roblox-assetversionnumber")
|
||||
.ok_or(CreateError::VersionHeaderMissing)?
|
||||
.to_str()
|
||||
.map_err(CreateError::ToStr)?;
|
||||
let version=version_str.parse()
|
||||
.map_err(|err|CreateError::ParseInt{err,response:version_str.to_owned()})?;
|
||||
|
||||
let response=response.text().await.map_err(CreateError::Reqwest)?;
|
||||
|
||||
match response.parse(){
|
||||
Ok(asset_id)=>Ok(UploadResponse{
|
||||
AssetId:asset_id,
|
||||
AssetVersion:version,
|
||||
}),
|
||||
Err(err)=>Err(CreateError::ParseInt{
|
||||
response,
|
||||
@ -428,12 +444,23 @@ impl CookieContext{
|
||||
}
|
||||
let response=crate::response_ok(
|
||||
self.post(url,body).await.map_err(UploadError::PostError)?
|
||||
).await.map_err(UploadError::Response)?
|
||||
.text().await.map_err(UploadError::Reqwest)?;
|
||||
).await.map_err(UploadError::Response)?;
|
||||
|
||||
let version_str=response
|
||||
.headers()
|
||||
.get("roblox-assetversionnumber")
|
||||
.ok_or(UploadError::VersionHeaderMissing)?
|
||||
.to_str()
|
||||
.map_err(UploadError::ToStr)?;
|
||||
let version=version_str.parse()
|
||||
.map_err(|err|UploadError::ParseInt{err,response:version_str.to_owned()})?;
|
||||
|
||||
let response=response.text().await.map_err(UploadError::Reqwest)?;
|
||||
|
||||
match response.parse(){
|
||||
Ok(asset_id)=>Ok(UploadResponse{
|
||||
AssetId:asset_id,
|
||||
AssetVersion:version,
|
||||
}),
|
||||
Err(err)=>Err(UploadError::ParseInt{
|
||||
response,
|
||||
|
Loading…
x
Reference in New Issue
Block a user