function serviceGet(authInfo, request, log, callback) {
    log.debug('processing request', { method: 'serviceGet' });

    if (authInfo.isRequesterPublicUser()) {
        log.debug('operation not available for public user');
        monitoring.promMetrics(
            'GET', request.bucketName, 403, 'getService');
        return callback(errors.AccessDenied);
    }
    const xml = [];
    const canonicalId = authInfo.getCanonicalID();
    xml.push(
        '<?xml version="1.0" encoding="UTF-8"?>',
        '<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/' +
            '2006-03-01/">',
        '<Owner>',
        `<ID>${canonicalId}</ID>`,
        `<DisplayName>${authInfo.getAccountDisplayName()}` +
            '</DisplayName>',
        '</Owner>',
        '<Buckets>'
    );
    return services.getService(authInfo, request, log, constants.splitter,
        (err, userBuckets, splitter) => {
            if (err) {
                monitoring.promMetrics(
                    'GET', userBuckets, err.code, 'getService');
                return callback(err);
            }
            // TODO push metric for serviceGet
            // pushMetric('getService', log, {
            //      bucket: bucketName,
            // });
            monitoring.promMetrics('GET', userBuckets, '200', 'getService');
            return callback(null, generateXml(xml, canonicalId, userBuckets,
                splitter));
        });
}
GET Service - Get list of buckets owned by user
@param {AuthInfo} authInfo - Instance of AuthInfo class with requester's info
@param {object} request - normalized request object
@param {object} log - Werelogs logger
@param {function} callback - callback
@return {undefined}