@@ -346,8 +346,15 @@ pub async fn invite_user_with_photo(
346346 req_builder = req_builder. header ( reqwest:: header:: USER_AGENT , user_agent. clone ( ) ) ;
347347 }
348348 let mut multipart_form = reqwest:: multipart:: Form :: new ( ) ;
349- multipart_form = multipart_form. text ( "data" , serde_json:: to_string ( & p_form_data) ?) ;
350- //Replaced: multipart_form = multipart_form.text("data", p_form_data.to_string());
349+ macro_rules! serialize {
350+ ( $form: ident, data, $data: ident) => {
351+ $form = $form. text( "data" , serde_json:: to_string( & $data) ?) ;
352+ } ;
353+ ( $form: ident, $tag: ident, $data: ident) => {
354+ $form = $form. text( stringify!( $tag) , $data. to_string( ) ) ;
355+ } ;
356+ }
357+ serialize ! ( multipart_form, data, p_form_data) ;
351358 let file = TokioFile :: open ( & p_form_image) . await ?;
352359 let stream = FramedRead :: new ( file, BytesCodec :: new ( ) ) ;
353360 let file_name = p_form_image
@@ -466,8 +473,15 @@ pub async fn request_invite_with_photo(
466473 req_builder = req_builder. header ( reqwest:: header:: USER_AGENT , user_agent. clone ( ) ) ;
467474 }
468475 let mut multipart_form = reqwest:: multipart:: Form :: new ( ) ;
469- multipart_form = multipart_form. text ( "data" , serde_json:: to_string ( & p_form_data) ?) ;
470- //Replaced: multipart_form = multipart_form.text("data", p_form_data.to_string());
476+ macro_rules! serialize {
477+ ( $form: ident, data, $data: ident) => {
478+ $form = $form. text( "data" , serde_json:: to_string( & $data) ?) ;
479+ } ;
480+ ( $form: ident, $tag: ident, $data: ident) => {
481+ $form = $form. text( stringify!( $tag) , $data. to_string( ) ) ;
482+ } ;
483+ }
484+ serialize ! ( multipart_form, data, p_form_data) ;
471485 let file = TokioFile :: open ( & p_form_image) . await ?;
472486 let stream = FramedRead :: new ( file, BytesCodec :: new ( ) ) ;
473487 let file_name = p_form_image
@@ -642,8 +656,15 @@ pub async fn respond_invite_with_photo(
642656 req_builder = req_builder. header ( reqwest:: header:: USER_AGENT , user_agent. clone ( ) ) ;
643657 }
644658 let mut multipart_form = reqwest:: multipart:: Form :: new ( ) ;
645- multipart_form = multipart_form. text ( "data" , serde_json:: to_string ( & p_form_data) ?) ;
646- //Replaced: multipart_form = multipart_form.text("data", p_form_data.to_string());
659+ macro_rules! serialize {
660+ ( $form: ident, data, $data: ident) => {
661+ $form = $form. text( "data" , serde_json:: to_string( & $data) ?) ;
662+ } ;
663+ ( $form: ident, $tag: ident, $data: ident) => {
664+ $form = $form. text( stringify!( $tag) , $data. to_string( ) ) ;
665+ } ;
666+ }
667+ serialize ! ( multipart_form, data, p_form_data) ;
647668 let file = TokioFile :: open ( & p_form_image) . await ?;
648669 let stream = FramedRead :: new ( file, BytesCodec :: new ( ) ) ;
649670 let file_name = p_form_image
0 commit comments