static makeHeadRequest(auth, url, expectedStatusCode, expectedHeaders,
        cb) {
        _makeWebsiteRequest(auth, 'HEAD', url, (err, res) => {
            // body should be empty
            assert.deepStrictEqual(res.body, '');
            assert.strictEqual(res.statusCode, expectedStatusCode);
            const headers = Object.keys(expectedHeaders);
            headers.forEach(header => {
                assert.strictEqual(res.headers[header],
                    expectedHeaders[header]);
            });
            return cb();
        });
    }
makeHeadRequest - makes head request and asserts expected response
@param {(string|null)} auth - whether to use valid, invalid,
or no authentication credentials
@param {string} url - request url
@param {number} expectedStatusCode - expected response code
@param {object} expectedHeaders - expected headers in response with
expected values (e.g., {x-amz-error-code: AccessDenied})
@param {function} cb - callback to end test
@return {undefined}