1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2024-11-29 16:56:28 +00:00

Can check if a file is present in the request

This commit is contained in:
Pierre HUBERT 2020-06-20 14:06:59 +02:00
parent ca82924b85
commit a02dc8b7fa
3 changed files with 13 additions and 3 deletions

View File

@ -233,5 +233,10 @@ pub fn refresh_single(r: &mut HttpRequestHandler) -> RequestResult {
/// Send a new message /// Send a new message
pub fn send_message(r: &mut HttpRequestHandler) -> RequestResult { pub fn send_message(r: &mut HttpRequestHandler) -> RequestResult {
if r.has_file("image") {
println!("File is detected.");
}
r.success("implement me") r.success("implement me")
} }

View File

@ -150,12 +150,12 @@ impl FromRequest for CustomRequest {
let mut field = el?; let mut field = el?;
let content_type = field.content_disposition().ok_or( let content_type = field.content_disposition().ok_or(
ErrorInternalServerError("F1"))?; ErrorInternalServerError("Missing content type"))?;
let name = content_type.get_name().ok_or( let name = content_type.get_name().ok_or(
ErrorInternalServerError("Missing field name!"))?; ErrorInternalServerError("Missing field name!"))?;
// Handle file upload // Handle file upload
if content_type.get_filename().is_some() && name.eq("file") { if content_type.get_filename().is_some() {
let filename = content_type.get_filename().unwrap(); let filename = content_type.get_filename().unwrap();
let mut buf = BytesMut::new(); let mut buf = BytesMut::new();

View File

@ -160,7 +160,6 @@ impl HttpRequestHandler {
pub fn has_post_parameter(&self, name: &str) -> bool { pub fn has_post_parameter(&self, name: &str) -> bool {
self.body.contains_key(name) self.body.contains_key(name)
} }
/// Get a post parameter /// Get a post parameter
pub fn post_parameter(&mut self, name: &str) -> ResultBoxError<&RequestValue> { pub fn post_parameter(&mut self, name: &str) -> ResultBoxError<&RequestValue> {
if !self.has_post_parameter(name) { if !self.has_post_parameter(name) {
@ -252,6 +251,12 @@ impl HttpRequestHandler {
} }
} }
/// Check out whether a file was included in the request or not
pub fn has_file(&self, name: &str) -> bool {
if let Some(RequestValue::File(_, _)) = self.body.get(name) { true } else { false }
}
/// Get an integer included in the POST request /// Get an integer included in the POST request
pub fn post_i64(&mut self, name: &str) -> ResultBoxError<i64> { pub fn post_i64(&mut self, name: &str) -> ResultBoxError<i64> {
Ok(self.post_string(name)?.parse::<i64>()?) Ok(self.post_string(name)?.parse::<i64>()?)