MCPcopy Index your code
hub / github.com/nonebot/nonebot2 / _handle_http

Method _handle_http

nonebot/drivers/fastapi.py:200–238  ·  view source on GitHub ↗
(
        self,
        request: Request,
        setup: HTTPServerSetup,
    )

Source from the content-addressed store, hash-verified

198 )
199
200 async def _handle_http(
201 self,
202 request: Request,
203 setup: HTTPServerSetup,
204 ) -> Response:
205 json: Any = None
206 with contextlib.suppress(Exception):
207 json = await request.json()
208
209 data: dict | None = None
210 files: list[tuple[str, FileTypes]] | None = None
211 with contextlib.suppress(Exception):
212 form = await request.form()
213 data = {}
214 files = []
215 for key, value in form.multi_items():
216 if isinstance(value, UploadFile):
217 files.append(
218 (key, (value.filename, value.file, value.content_type))
219 )
220 else:
221 data[key] = value
222
223 http_request = BaseRequest(
224 request.method,
225 str(request.url),
226 headers=request.headers.items(),
227 cookies=request.cookies,
228 content=await request.body(),
229 data=data,
230 json=json,
231 files=files,
232 version=request.scope["http_version"],
233 )
234
235 response = await setup.handle_func(http_request)
236 return Response(
237 response.content, response.status_code, dict(response.headers.items())
238 )
239
240 async def _handle_ws(self, websocket: WebSocket, setup: WebSocketServerSetup):
241 request = BaseRequest(

Callers 1

_handleMethod · 0.95

Calls 3

ResponseClass · 0.85
appendMethod · 0.80
itemsMethod · 0.45

Tested by

no test coverage detected