File tree 3 files changed +43
-1
lines changed
3 files changed +43
-1
lines changed Original file line number Diff line number Diff line change @@ -189,9 +189,20 @@ def concat(self, encode: bool = True) -> str:
189
189
190
190
# Get all query paramaters.
191
191
@property
192
- def entries (self ) -> List [Tuple [ str , str ] ]:
192
+ def entries (self ) -> List [str ]:
193
193
return self ._entries
194
194
195
+ # Convert the query paramaters to a dict.
196
+ def toDict (self ) -> Dict [str , str ]:
197
+ map = {}
198
+ for entry in self .entries :
199
+ map [entry [0 ]] = entry [1 ]
200
+ return map
201
+
202
+ # Convert the query paramaters to a json str.
203
+ def toJson (self ) -> str :
204
+ return json .dumps (self .toDict ())
205
+
195
206
def serialize (self ) -> str :
196
207
return self .concat ()
197
208
@@ -285,6 +296,18 @@ def clear(self):
285
296
def entries (self ) -> List [str ]:
286
297
return self ._entries
287
298
299
+ # Convert the headers to a dict.
300
+ def toDict (self ) -> Dict [str , str ]:
301
+ map = {}
302
+ for entry in self .entries :
303
+ name , value = entry .split (': ' )
304
+ map [name ] = value
305
+ return map
306
+
307
+ # Convert the headers to a json str.
308
+ def toJson (self ) -> str :
309
+ return json .dumps (self .toDict ())
310
+
288
311
def serialize (self ) -> List [str ]:
289
312
return self ._entries
290
313
Original file line number Diff line number Diff line change @@ -175,5 +175,17 @@ def testHttpHeadersCasesensive(self):
175
175
self .assertEqual (headers ['abc' ], '123' )
176
176
self .assertEqual (headers ['hello' ], 'WORLD' )
177
177
178
+ def testHttpHeadersDict (self ):
179
+ headers = CaptureHttpHeaders ([
180
+ 'foo: bar' ,
181
+ 'abc: 123' ,
182
+ 'hello: world' ,
183
+ 'hello: '
184
+ ])
185
+ d = headers .toDict ()
186
+ self .assertEqual (d ['foo' ], 'bar' )
187
+ self .assertEqual (d ['abc' ], '123' )
188
+ self .assertEqual (d ['hello' ], '' )
189
+
178
190
if __name__ == '__main__' :
179
191
unittest .main ()
Original file line number Diff line number Diff line change @@ -137,5 +137,12 @@ def testHttpQueriesConcat(self):
137
137
self .assertEqual (queries .concat (encode = True ), 'foo=bar&abc=123&url=https%3A%2F%2Freqable.com' )
138
138
self .assertEqual (queries .concat (encode = False ), 'foo=bar&abc=123&url=https://reqable.com' )
139
139
140
+ def testHttpQueriesDict (self ):
141
+ queries = CaptureHttpQueries .parse ('foo=bar&abc=123&hello=world&hello=' )
142
+ d = queries .toDict ()
143
+ self .assertEqual (d ['foo' ], 'bar' )
144
+ self .assertEqual (d ['abc' ], '123' )
145
+ self .assertEqual (d ['hello' ], '' )
146
+
140
147
if __name__ == '__main__' :
141
148
unittest .main ()
You can’t perform that action at this time.
0 commit comments