func extractHeaders()

in http/common/logging/logging.go [158:182]


func extractHeaders(header http.Header) map[string]string {
    headers := make(map[string]string)

    // List of headers to extract
    headerKeys := []string{
        common.RequestCorrelationIDHeader,
        common.RequestAcsOperationIDHeader,
        common.RequestARMClientRequestIDHeader,
    }

    // Convert header keys to lowercase
    lowerHeader := make(http.Header)
    for key, values := range header {
        lowerHeader[strings.ToLower(key)] = values
    }

    for _, key := range headerKeys {
        lowerKey := strings.ToLower(key)
        if values, ok := lowerHeader[lowerKey]; ok && len(values) > 0 {
            headers[key] = values[0]
        }
    }

    return headers
}