-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy path__init__.py
23 lines (19 loc) · 848 Bytes
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""Apply multipart request spec to flask"""
from flask import request
from flask_graphql import GraphQLView
from graphql_server import load_json_body
from ..utils import place_files_in_operations
class FileUploadGraphQLView(GraphQLView):
"""Handles multipart/form-data content type in flask views"""
def parse_body(self):
"""Handle multipart request spec for multipart/form-data"""
content_type = request.mimetype
if content_type == 'multipart/form-data':
operations = load_json_body(request.form.get('operations', '{}'))
files_map = load_json_body(request.form.get('map', '{}'))
return place_files_in_operations(
operations,
files_map,
request.files
)
return super(FileUploadGraphQLView, self).parse_body()