File tree Expand file tree Collapse file tree
crates/lib/src/service/bugzilla Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ use futures_util::Stream;
77use indexmap:: IndexSet ;
88use itertools:: { Either , Itertools } ;
99use serde:: { Deserialize , Serialize } ;
10+ use serde_json:: Value ;
1011use serde_with:: { DeserializeFromStr , SerializeDisplay , skip_serializing_none} ;
1112use strum:: { AsRefStr , Display , EnumIter , EnumString } ;
1213use url:: Url ;
@@ -88,13 +89,16 @@ impl RequestPagedStream for Request {
8889 let request = self . service . client ( ) . get ( url) . auth_optional ( & self . service ) ;
8990 let response = request. send ( ) . await ?;
9091 let mut data = self . service . parse_response ( response) . await ?;
92+ let Value :: Array ( data) = data[ "bugs" ] . take ( ) else {
93+ return Err ( Error :: InvalidResponse ( "search request" . to_string ( ) ) ) ;
94+ } ;
95+
9196 let mut bugs = vec ! [ ] ;
92- if let serde_json:: Value :: Array ( values) = data[ "bugs" ] . take ( ) {
93- for value in values {
94- let bug = self . service . deserialize_bug ( value) ?;
95- bugs. push ( bug) ;
96- }
97+ for value in data {
98+ let bug = self . service . deserialize_bug ( value) ?;
99+ bugs. push ( bug) ;
97100 }
101+
98102 Ok ( bugs)
99103 }
100104}
You can’t perform that action at this time.
0 commit comments