@@ -81,6 +81,20 @@ def decorator(method: Callable[..., str]) -> Callable[..., str]:
81
81
return decorator
82
82
83
83
84
+ def _body_bytes (request : Request ) -> bytes :
85
+ """
86
+ Return the body of a request as bytes.
87
+ """
88
+ if request .body is None :
89
+ return b""
90
+
91
+ if isinstance (request .body , str ):
92
+ return request .body .encode (encoding = "utf-8" )
93
+
94
+ assert isinstance (request .body , bytes )
95
+ return request .body
96
+
97
+
84
98
class MockVuforiaWebServicesAPI :
85
99
"""
86
100
A fake implementation of the Vuforia Web Services API.
@@ -129,7 +143,7 @@ def add_target(self, request: Request, context: Context) -> str:
129
143
try :
130
144
run_services_validators (
131
145
request_headers = request .headers ,
132
- request_body = request . body ,
146
+ request_body = _body_bytes ( request = request ) ,
133
147
request_method = request .method ,
134
148
request_path = request .path ,
135
149
databases = self ._target_manager .databases ,
@@ -141,7 +155,7 @@ def add_target(self, request: Request, context: Context) -> str:
141
155
142
156
database = get_database_matching_server_keys (
143
157
request_headers = request .headers ,
144
- request_body = request . body ,
158
+ request_body = _body_bytes ( request = request ) ,
145
159
request_method = request .method ,
146
160
request_path = request .path ,
147
161
databases = self ._target_manager .databases ,
@@ -206,7 +220,7 @@ def delete_target(self, request: Request, context: Context) -> str:
206
220
try :
207
221
run_services_validators (
208
222
request_headers = request .headers ,
209
- request_body = request . body ,
223
+ request_body = _body_bytes ( request = request ) ,
210
224
request_method = request .method ,
211
225
request_path = request .path ,
212
226
databases = self ._target_manager .databases ,
@@ -219,7 +233,7 @@ def delete_target(self, request: Request, context: Context) -> str:
219
233
body : dict [str , str ] = {}
220
234
database = get_database_matching_server_keys (
221
235
request_headers = request .headers ,
222
- request_body = request . body ,
236
+ request_body = _body_bytes ( request = request ) ,
223
237
request_method = request .method ,
224
238
request_path = request .path ,
225
239
databases = self ._target_manager .databases ,
@@ -273,7 +287,7 @@ def database_summary(self, request: Request, context: Context) -> str:
273
287
try :
274
288
run_services_validators (
275
289
request_headers = request .headers ,
276
- request_body = request . body ,
290
+ request_body = _body_bytes ( request = request ) ,
277
291
request_method = request .method ,
278
292
request_path = request .path ,
279
293
databases = self ._target_manager .databases ,
@@ -287,7 +301,7 @@ def database_summary(self, request: Request, context: Context) -> str:
287
301
288
302
database = get_database_matching_server_keys (
289
303
request_headers = request .headers ,
290
- request_body = request . body ,
304
+ request_body = _body_bytes ( request = request ) ,
291
305
request_method = request .method ,
292
306
request_path = request .path ,
293
307
databases = self ._target_manager .databases ,
@@ -339,7 +353,7 @@ def target_list(self, request: Request, context: Context) -> str:
339
353
try :
340
354
run_services_validators (
341
355
request_headers = request .headers ,
342
- request_body = request . body ,
356
+ request_body = _body_bytes ( request = request ) ,
343
357
request_method = request .method ,
344
358
request_path = request .path ,
345
359
databases = self ._target_manager .databases ,
@@ -351,7 +365,7 @@ def target_list(self, request: Request, context: Context) -> str:
351
365
352
366
database = get_database_matching_server_keys (
353
367
request_headers = request .headers ,
354
- request_body = request . body ,
368
+ request_body = _body_bytes ( request = request ) ,
355
369
request_method = request .method ,
356
370
request_path = request .path ,
357
371
databases = self ._target_manager .databases ,
@@ -399,7 +413,7 @@ def get_target(self, request: Request, context: Context) -> str:
399
413
try :
400
414
run_services_validators (
401
415
request_headers = request .headers ,
402
- request_body = request . body ,
416
+ request_body = _body_bytes ( request = request ) ,
403
417
request_method = request .method ,
404
418
request_path = request .path ,
405
419
databases = self ._target_manager .databases ,
@@ -411,7 +425,7 @@ def get_target(self, request: Request, context: Context) -> str:
411
425
412
426
database = get_database_matching_server_keys (
413
427
request_headers = request .headers ,
414
- request_body = request . body ,
428
+ request_body = _body_bytes ( request = request ) ,
415
429
request_method = request .method ,
416
430
request_path = request .path ,
417
431
databases = self ._target_manager .databases ,
@@ -467,7 +481,7 @@ def get_duplicates(self, request: Request, context: Context) -> str:
467
481
try :
468
482
run_services_validators (
469
483
request_headers = request .headers ,
470
- request_body = request . body ,
484
+ request_body = _body_bytes ( request = request ) ,
471
485
request_method = request .method ,
472
486
request_path = request .path ,
473
487
databases = self ._target_manager .databases ,
@@ -479,7 +493,7 @@ def get_duplicates(self, request: Request, context: Context) -> str:
479
493
480
494
database = get_database_matching_server_keys (
481
495
request_headers = request .headers ,
482
- request_body = request . body ,
496
+ request_body = _body_bytes ( request = request ) ,
483
497
request_method = request .method ,
484
498
request_path = request .path ,
485
499
databases = self ._target_manager .databases ,
@@ -541,7 +555,7 @@ def update_target(self, request: Request, context: Context) -> str:
541
555
try :
542
556
run_services_validators (
543
557
request_headers = request .headers ,
544
- request_body = request . body ,
558
+ request_body = _body_bytes ( request = request ) ,
545
559
request_method = request .method ,
546
560
request_path = request .path ,
547
561
databases = self ._target_manager .databases ,
@@ -553,7 +567,7 @@ def update_target(self, request: Request, context: Context) -> str:
553
567
554
568
database = get_database_matching_server_keys (
555
569
request_headers = request .headers ,
556
- request_body = request . body ,
570
+ request_body = _body_bytes ( request = request ) ,
557
571
request_method = request .method ,
558
572
request_path = request .path ,
559
573
databases = self ._target_manager .databases ,
@@ -650,7 +664,7 @@ def target_summary(self, request: Request, context: Context) -> str:
650
664
try :
651
665
run_services_validators (
652
666
request_headers = request .headers ,
653
- request_body = request . body ,
667
+ request_body = _body_bytes ( request = request ) ,
654
668
request_method = request .method ,
655
669
request_path = request .path ,
656
670
databases = self ._target_manager .databases ,
@@ -662,7 +676,7 @@ def target_summary(self, request: Request, context: Context) -> str:
662
676
663
677
database = get_database_matching_server_keys (
664
678
request_headers = request .headers ,
665
- request_body = request . body ,
679
+ request_body = _body_bytes ( request = request ) ,
666
680
request_method = request .method ,
667
681
request_path = request .path ,
668
682
databases = self ._target_manager .databases ,
0 commit comments