Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

from aiohttp.web import Request


class AiohttpRequestAdapter:
"""Adapter to make aiohttp Request compatible with HttpRequestProtocol."""

def __init__(self, request: Request):
self._request = request

@property
def method(self) -> str:
return self._request.method

@property
def headers(self):
return self._request.headers

async def json(self):
return await self._request.json()

def get_claims_identity(self):
return self._request.get("claims_identity")

def get_path_param(self, name: str) -> str:
return self._request.match_info[name]
Comment thread
rodrigobr-msft marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

from typing import Optional
from aiohttp.web import Request, Response
from microsoft_agents.hosting.core import error_resources
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,7 @@
from microsoft_agents.hosting.core import ChannelApiHandlerProtocol
from microsoft_agents.hosting.core.http import ChannelServiceRoutes


class AiohttpRequestAdapter:
"""Adapter for aiohttp requests to use with ChannelServiceRoutes."""

def __init__(self, request: Request):
self._request = request

@property
def method(self) -> str:
return self._request.method

@property
def headers(self):
return self._request.headers

async def json(self):
return await self._request.json()

def get_claims_identity(self):
return self._request.get("claims_identity")

def get_path_param(self, name: str) -> str:
return self._request.match_info[name]
from ._aiohttp_request_adapter import AiohttpRequestAdapter


def channel_service_route_table(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,7 @@
from microsoft_agents.hosting.core import ChannelServiceClientFactoryBase

from .agent_http_adapter import AgentHttpAdapter


class AiohttpRequestAdapter:
"""Adapter to make aiohttp Request compatible with HttpRequestProtocol."""

def __init__(self, request: Request):
self._request = request

@property
def method(self) -> str:
return self._request.method

@property
def headers(self):
return self._request.headers

async def json(self):
return await self._request.json()

def get_claims_identity(self):
return self._request.get("claims_identity")

def get_path_param(self, name: str) -> str:
return self._request.match_info[name]
from ._aiohttp_request_adapter import AiohttpRequestAdapter


class CloudAdapter(HttpAdapterBase, AgentHttpAdapter):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

from fastapi import Request


class FastApiRequestAdapter:
"""Adapter to make FastAPI Request compatible with HttpRequestProtocol."""

def __init__(self, request: Request):
self._request = request

@property
def method(self) -> str:
return self._request.method

@property
def headers(self):
return self._request.headers

async def json(self):
return await self._request.json()

def get_claims_identity(self):
return getattr(self._request.state, "claims_identity", None)

def get_path_param(self, name: str) -> str:
return self._request.path_params.get(name, "")
Comment thread
rodrigobr-msft marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,7 @@
from microsoft_agents.hosting.core import ChannelApiHandlerProtocol
from microsoft_agents.hosting.core.http import ChannelServiceRoutes


class FastApiRequestAdapter:
"""Adapter for FastAPI requests to use with ChannelServiceRoutes."""

def __init__(self, request: Request):
self._request = request

@property
def method(self) -> str:
return self._request.method

@property
def headers(self):
return self._request.headers

async def json(self):
return await self._request.json()

def get_claims_identity(self):
return getattr(self._request.state, "claims_identity", None)

def get_path_param(self, name: str) -> str:
return self._request.path_params.get(name, "")
from ._fastapi_request_adapter import FastApiRequestAdapter


def channel_service_route_table(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,7 @@
from microsoft_agents.hosting.core import ChannelServiceClientFactoryBase

from .agent_http_adapter import AgentHttpAdapter


class FastApiRequestAdapter:
"""Adapter to make FastAPI Request compatible with HttpRequestProtocol."""

def __init__(self, request: Request):
self._request = request

@property
def method(self) -> str:
return self._request.method

@property
def headers(self):
return self._request.headers

async def json(self):
return await self._request.json()

def get_claims_identity(self):
return getattr(self._request.state, "claims_identity", None)

def get_path_param(self, name: str) -> str:
return self._request.path_params.get(name, "")
from ._fastapi_request_adapter import FastApiRequestAdapter


class CloudAdapter(HttpAdapterBase, AgentHttpAdapter):
Expand All @@ -46,8 +23,8 @@ class CloudAdapter(HttpAdapterBase, AgentHttpAdapter):
def __init__(
self,
*,
connection_manager: Connections = None,
channel_service_client_factory: ChannelServiceClientFactoryBase = None,
connection_manager: Connections | None = None,
channel_service_client_factory: ChannelServiceClientFactoryBase | None = None,
):
"""
Initializes a new instance of the CloudAdapter class.
Expand Down
Loading