lib/support/utils.js
function acceptParams(str, index) {
    var parts = str.split(/ *; */);
    var ret = {value: parts[0], quality: 1, params: {}, originalIndex: index};

    for (var i = 1; i < parts.length; ++i) {
        var pms = parts[i].split(/ *= */);
        if ('q' == pms[0]) {
            ret.quality = parseFloat(pms[1]);
        } else {
            ret.params[pms[0]] = pms[1];
        }
    }

    return ret;
}
function acceptParams(str, index) {
    var parts = str.split(/ *; */);
    var ret = {value: parts[0], quality: 1, params: {}, originalIndex: index};

    for (var i = 1; i < parts.length; ++i) {
        var pms = parts[i].split(/ *= */);
        if ('q' == pms[0]) {
            ret.quality = parseFloat(pms[1]);
        } else {
            ret.params[pms[0]] = pms[1];
        }
    }

    return ret;
}
function acceptParams ( str , index ) { var parts = str . split ( /  *; * / ) ; var ret = { value : parts [ 0 ] , quality : 1 , params : { } , originalIndex : index } ; for ( var i = 1 ; i < parts . length ; ++ i ) { var pms = parts [ i ] . split ( /  *= * / ) ; if ( 'q' == pms [ 0 ] ) { ret . quality = parseFloat ( pms [ 1 ] ) ; } else { ret . params [ pms [ 0 ] ] = pms [ 1 ] ; } } return ret ; }
Parse accept params `str` returning an
object with `.value`, `.quality` and `.params`.
also includes `.originalIndex` for stable sorting

@param {String} str
@return {Object}
Parse accept params str returning an object with . value . quality and . params . also includes . originalIndex for stable sorting