"""{{ display_name }} MCP server — generated by mcpify. Do not hand-edit.

Credentials extracted from one incoming HTTP request (HTTP transport
only) — never sourced from local config/env/keychain. Converts into the
same `Credentials` dict shape auth strategies already produce, so
`AuthManager.apply_auth_headers`'s header-building tail is reused
unchanged for both transports; the header name/value are relayed
verbatim to the facaded API, whatever they were on the way in (a
prefixed `Authorization: Basic .../Bearer ...` value, or a bare
`X-Api-Key`-style value).
"""

from __future__ import annotations

from dataclasses import dataclass

from .auth_strategy import Credentials


@dataclass(frozen=True)
class RequestCredentials:
    header_name: str
    value: str

    def to_credentials_map(self) -> Credentials:
        return {
            "request_header_name": self.header_name,
            "request_header_value": self.value,
        }
