diff --git a/libs/labelbox/src/labelbox/client.py b/libs/labelbox/src/labelbox/client.py index 59e5e874c..66d462521 100644 --- a/libs/labelbox/src/labelbox/client.py +++ b/libs/labelbox/src/labelbox/client.py @@ -10,6 +10,7 @@ from collections import defaultdict from datetime import datetime, timezone from typing import Any, List, Dict, Union, Optional, overload, Callable +from types import MappingProxyType from labelbox.schema.search_filters import SearchFilter import requests @@ -128,6 +129,10 @@ def _init_connection(self) -> requests.Session: return connection + @property + def headers(self) -> MappingProxyType: + return self._connection.headers + def _default_headers(self): return { 'Authorization': 'Bearer %s' % self.api_key, diff --git a/libs/labelbox/tests/unit/test_client.py b/libs/labelbox/tests/unit/test_client.py new file mode 100644 index 000000000..9a97591f3 --- /dev/null +++ b/libs/labelbox/tests/unit/test_client.py @@ -0,0 +1,15 @@ +import os + +from unittest.mock import patch + +from labelbox.client import Client + + +# @patch.dict(os.environ, {'LABELBOX_API_KEY': 'bar'}) +def test_headers(): + client = Client(api_key="api_key", endpoint="http://localhost:8080/_gql") + assert client.headers + assert client.headers["Authorization"] == "Bearer api_key" + assert client.headers["Content-Type"] == "application/json" + assert client.headers["User-Agent"] + assert client.headers["X-Python-Version"]