Getting rate limit response headers in javascript

Just wrote this fetch version and it definitely works. Try with lowercase header keys.

const clientID = '';

function getUser(username) {
    let url = `https://api.twitch.tv/helix/users?login=${username}`;
    let headers = new Headers({
            'Client-ID': clientID
        });
    return fetch(url, { headers })
    .then(res => {
        let { headers } = res;
        let rateLimit = {
                limit: parseInt(headers.get('ratelimit-limit')),
                remaining: parseInt(headers.get('ratelimit-remaining')),
                reset: parseInt(headers.get('ratelimit-reset'))
            };
        return res.json()
        .then(data => {
            data.rateLimit = rateLimit;
            return data;
        });
    });
}
let username = 'alca';
getUser(username)
.then(({ rateLimit: { limit, remaining, reset }, data: [ { display_name, id } ] }) => {
    console.log(`Got user data ${display_name} (${id})`);
    let seconds = reset - Date.now() / 1000;
    console.log(`${remaining}/${limit} calls remain for ${~~seconds} seconds.`);
});

Got user data Alca (7676884)
18/30 calls remain for 50 seconds.