Return the HTTP for SOAP Action.

    :param soap_action: The soap action to include in the header. Can be either
        'search' or 'get_metadata'
    :type soap_action: str

def _get_header(soap_action):
    """Return the HTTP for SOAP Action.

    :param soap_action: The soap action to include in the header. Can be either
        'search' or 'get_metadata'
    :type soap_action: str
    """
    # This way of setting accepted language is obviously flawed, in that it
    # depends on the locale settings of the system. However, I'm unsure if
    # they are actually used. The character coding is set elsewhere and I think
    # the available music in each country is bound to the account.
    language, _ = locale.getdefaultlocale()
    if language is None:
        language = ''
    else:
        language = language.replace('_', '-') + ', '

    header = {
        'CONNECTION': 'close',
        'ACCEPT-ENCODING': 'gzip',
        'ACCEPT-LANGUAGE': '{}en-US;q=0.9'.format(language),
        'Content-Type': 'text/xml; charset="utf-8"',
        'SOAPACTION': SOAP_ACTION[soap_action]
    }
    return header