Skip to content

Commit 90ddc1b

Browse files
committed
More improvements
1 parent 578453f commit 90ddc1b

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

src/graphql_server/http/async_base_view.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ async def run(
338338
raise HTTPException(405, "GraphQL only supports GET and POST requests.")
339339

340340
try:
341-
request_data = await self.parse_http_body(context, request_adapter)
341+
request_data = await self.parse_http_body(request_adapter, context)
342342
except json.decoder.JSONDecodeError as e:
343343
raise HTTPException(400, "Unable to parse request body as JSON") from e
344344
# DO this only when doing files
@@ -543,6 +543,7 @@ async def parse_multipart_subscriptions(
543543

544544
async def get_graphql_request_data(
545545
self,
546+
request: Union[AsyncHTTPRequestAdapter, WebSocketRequest],
546547
context: Context,
547548
data: dict[str, Any],
548549
protocol: Literal["http", "multipart-subscription", "subscription"],
@@ -557,7 +558,9 @@ async def get_graphql_request_data(
557558
)
558559

559560
async def parse_http_body(
560-
self, context: Context, request: AsyncHTTPRequestAdapter
561+
self,
562+
request: AsyncHTTPRequestAdapter,
563+
context: Context,
561564
) -> GraphQLRequestData:
562565
headers = {key.lower(): value for key, value in request.headers.items()}
563566
content_type, _ = parse_content_type(request.content_type or "")
@@ -577,7 +580,7 @@ async def parse_http_body(
577580
else:
578581
raise HTTPException(400, "Unsupported content type")
579582

580-
return await self.get_graphql_request_data(context, data, protocol)
583+
return await self.get_graphql_request_data(request, context, data, protocol)
581584

582585
async def process_result(
583586
self, request: Request, result: ExecutionResult

src/graphql_server/http/sync_base_view.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ def parse_multipart(self, request: SyncHTTPRequestAdapter) -> dict[str, str]:
132132

133133
def get_graphql_request_data(
134134
self,
135+
request: SyncHTTPRequestAdapter,
135136
context: Context,
136137
data: dict[str, Any],
137138
protocol: Literal["http", "multipart-subscription"],
@@ -146,7 +147,9 @@ def get_graphql_request_data(
146147
)
147148

148149
def parse_http_body(
149-
self, context: Context, request: SyncHTTPRequestAdapter
150+
self,
151+
request: SyncHTTPRequestAdapter,
152+
context: Context,
150153
) -> GraphQLRequestData:
151154
content_type, params = parse_content_type(request.content_type or "")
152155

@@ -164,7 +167,7 @@ def parse_http_body(
164167
else:
165168
raise HTTPException(400, "Unsupported content type")
166169

167-
return self.get_graphql_request_data(context, data, "http")
170+
return self.get_graphql_request_data(request, context, data, "http")
168171

169172
def _handle_errors(
170173
self, errors: list[GraphQLError], response_data: GraphQLHTTPResponse
@@ -190,7 +193,7 @@ def run(
190193
)
191194

192195
try:
193-
request_data = self.parse_http_body(context, request_adapter)
196+
request_data = self.parse_http_body(request_adapter, context)
194197
except json.decoder.JSONDecodeError as e:
195198
raise HTTPException(400, "Unable to parse request body as JSON") from e
196199
# DO this only when doing files

src/graphql_server/subscriptions/protocols/graphql_transport_ws/handlers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ async def handle_subscribe(self, message: SubscribeMessage) -> None:
255255
)
256256

257257
request_data = await self.view.get_graphql_request_data(
258-
self.context, message["payload"], "subscription"
258+
self.websocket, self.context, message["payload"], "subscription"
259259
)
260260

261261
operation = Operation(

0 commit comments

Comments
 (0)