diff --git a/src/aiomealie/mealie.py b/src/aiomealie/mealie.py index 7d716a2..7089ad9 100644 --- a/src/aiomealie/mealie.py +++ b/src/aiomealie/mealie.py @@ -35,6 +35,8 @@ class MealieClient: """Main class for handling connections with Mealie.""" api_host: str + port: int + secure: bool token: str | None = None session: ClientSession | None = None request_timeout: int = 10 @@ -43,9 +45,9 @@ class MealieClient: async def _request(self, uri: str, params: dict[str, Any] | None = None) -> str: """Handle a request to Mealie.""" url = URL.build( - scheme="https", + scheme="https" if self.secure else "http", host=self.api_host, - port=443, + port=self.port, ).joinpath(uri) headers = { diff --git a/tests/conftest.py b/tests/conftest.py index dd575a3..21ec2ee 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -23,6 +23,8 @@ async def client() -> AsyncGenerator[MealieClient, None]: """Return a Spotify client.""" async with aiohttp.ClientSession() as session, MealieClient( "demo.mealie.io", + 443, + secure=True, session=session, ) as mealie_client: yield mealie_client diff --git a/tests/test_mealie.py b/tests/test_mealie.py index 2dc9ead..90fff2f 100644 --- a/tests/test_mealie.py +++ b/tests/test_mealie.py @@ -32,7 +32,9 @@ async def test_putting_in_own_session( body=load_fixture("startup_info.json"), ) async with aiohttp.ClientSession() as session: - analytics = MealieClient(session=session, api_host="demo.mealie.io") + analytics = MealieClient( + session=session, api_host="demo.mealie.io", port=443, secure=True + ) await analytics.get_startup_info() assert analytics.session is not None assert not analytics.session.closed @@ -49,7 +51,7 @@ async def test_creating_own_session( status=200, body=load_fixture("startup_info.json"), ) - analytics = MealieClient(api_host="demo.mealie.io") + analytics = MealieClient(api_host="demo.mealie.io", port=443, secure=True) await analytics.get_startup_info() assert analytics.session is not None assert not analytics.session.closed @@ -88,8 +90,7 @@ async def response_handler(_: str, **_kwargs: Any) -> CallbackResult: callback=response_handler, ) async with MealieClient( - request_timeout=1, - api_host="demo.mealie.io", + request_timeout=1, api_host="demo.mealie.io", port=443, secure=True ) as mealie_client: with pytest.raises(MealieConnectionError): assert await mealie_client.get_startup_info()