-
-
Notifications
You must be signed in to change notification settings - Fork 14
[REQ] Allow Content Type JSON Lines #429
Description
Is your feature request related to a problem? Please describe.
One of our endpoints provides a stream with content type application/json-lines
based on this format. One example of the returned data would be
b'' {'data': {'test_attribute_1':' example', 'test_attribute_2': 'example 2'}}\n{'data': {'test_attribute_1': 'example 3', 'test_attribute_2': 'example 4'}}\n{"end": true}
Currently, the regex used to figure out if the content type is based on json will also match with the above used type. Consequently, it will call json.loads(response.data)
which leads to an error as the byte includes multiple jsons.
In general, what is your approach for supporting different content types?
Describe the solution you'd like
It would be nice, if it could support this content type. The deserialization could then look something similar to this
all_data = []
for w in data.split(b'\n'):
all_data.append(json.loads(w))
However, I am not sure how such content should be validated.
Describe alternatives you've considered
If we just use application/octet-stream
as the content type, I will get an error in the next validate_base
step:
uai_annotation_store_client.exceptions.ApiTypeError: Invalid type. Required value type is str and passed type was FileIO at ['args[0]']