@@ -182,6 +182,9 @@ macro_rules! map_value {
182182 } ;
183183}
184184
185+ #[ derive( Deserialize ) ]
186+ #[ serde( tag = "kind" , content = "ids" ) ]
187+ #[ serde( rename_all = "kebab-case" ) ]
185188pub enum HttpRequestSecurity {
186189 FirstValid ( Vec < String > ) ,
187190 All ( Vec < String > ) ,
@@ -305,7 +308,7 @@ pub trait MapStdUnstable {
305308 fn stream_close ( & mut self , handle : Handle ) -> std:: io:: Result < ( ) > ;
306309
307310 // http
308- fn http_call ( & mut self , params : HttpRequest , security : HttpRequestSecurity ) -> Result < Handle , HttpCallError > ;
311+ fn http_call ( & mut self , params : HttpRequest , security : Option < HttpRequestSecurity > ) -> Result < Handle , HttpCallError > ;
309312 fn http_call_head ( & mut self , handle : Handle ) -> Result < HttpResponse , HttpCallHeadError > ;
310313
311314 // input and output
@@ -318,16 +321,6 @@ pub trait MapStdUnstable {
318321// MESSAGES //
319322//////////////
320323
321- #[ derive( Deserialize ) ]
322- #[ serde( tag = "kind" , content = "ids" ) ]
323- #[ serde( rename_all = "kebab-case" ) ]
324- enum HttpRequestSecuritySettingMessage {
325- FirstValid ( Vec < String > ) ,
326- All ( Vec < String > ) ,
327- #[ serde( untagged) ]
328- Legacy ( Option < String > )
329- }
330-
331324define_exchange_map_to_core ! {
332325 let state: MapStdUnstable ;
333326 enum RequestUnstable {
@@ -337,7 +330,7 @@ define_exchange_map_to_core! {
337330 url: String ,
338331 headers: HeadersMultiMap ,
339332 query: MultiMap ,
340- security: HttpRequestSecuritySettingMessage ,
333+ security: Option < HttpRequestSecurity > ,
341334 body: Option <Vec <u8 >>,
342335 } -> enum Response {
343336 Ok {
@@ -355,12 +348,7 @@ define_exchange_map_to_core! {
355348 headers,
356349 query,
357350 body,
358- } , match security {
359- HttpRequestSecuritySettingMessage :: FirstValid ( v) => HttpRequestSecurity :: FirstValid ( v) ,
360- HttpRequestSecuritySettingMessage :: All ( v) => HttpRequestSecurity :: All ( v) ,
361- // Turns Option<String> into Vec<String>, the vec being empty on None
362- HttpRequestSecuritySettingMessage :: Legacy ( maybe_v) => HttpRequestSecurity :: FirstValid ( maybe_v. into_iter( ) . collect( ) ) ,
363- } ) ;
351+ } , security) ;
364352
365353 match handle {
366354 Ok ( handle) => Response :: Ok {
0 commit comments