Используя Flask, пользователь может (вручную) использовать request.input_stream
для обработки потоковой загрузки.Например, для обработки загрузок, которые не помещаются в памяти - я хотел бы объединить это с библиотекой connexion
, чтобы получить проверку JSON.
С библиотекой connexion
я не могу работатьо том, как получить доступ к потоку необработанных данных - похоже, что все данные читаются в FlaskApi.get_request от EndOfRequestLifecycleDecorator
в Connexion - что происходит задолго до вызова любой пользовательской функции-обработчика.
Можно ли отключить соединение или, по крайней мере, не обернуть flask.request
с ConnexionRequest
для некоторых конечных точек?
На стороне сервера я хотел бы иметь возможность сделать что-то подобное в запросеобработчик для доступа к необработанному потоку:
if headers['Content-Type'] == "application/octet-stream":
# This should work
data = request.input_stream.read()
print(len(data))
Но input_stream
пуст, потому что connexion
уже затормозил его - что приводит к проблемам, если мы имеем дело с загрузками, которые не помещаются в памяти.