# Path: dhis2_core/src/dhis2/core/inventory.py
# class HostResolved(BaseModel):
#     type: Union[HostType, str] = HostType.dhis2
#     key: str
#     baseUrl: str
#     headers: Mapping[str, str] = {}
#     params: Mapping[str, str] = {}
#     auth: Union[NoopAuthtype, BasicAuthtype]


import json
import logging
import sys
import requests
from copy import deepcopy
from enum import Enum
from typing import Dict, Tuple, Union
from requests.models import Response  # noqa
from .inventory import HostResolved



log = logging.getLogger(__name__)


class MediaFormat(str, Enum):
    json = "application/json"
    text = "text/plain"


class BaseHttpRequest:

# Path: dhis2_core/src/dhis2/core/inventory.py
# class HostResolved(BaseModel):
#     type: Union[HostType, str] = HostType.dhis2
#     key: str
#     baseUrl: str
#     headers: Mapping[str, str] = {}
#     params: Mapping[str, str] = {}
#     auth: Union[NoopAuthtype, BasicAuthtype]


# Path: dhis2_core/src/dhis2/core/http.py
import json
import logging
import sys
import requests
from copy import deepcopy
from enum import Enum
from typing import Dict, Tuple, Union
from requests.models import Response  # noqa
from .inventory import HostResolved




log = logging.getLogger(__name__)


class MediaFormat(str, Enum):
    json = "application/json"
    text = "text/plain"


class BaseHttpRequest:

    def __init__(self, host: HostResolved, format: Union[MediaFormat, str] = MediaFormat.json):