lib/DAV/plugins/auth/abstractDigest.js
function parseDigest(digest) {
    if (!digest)
        return false;
    // protect against missing data
    var needed_parts = {"nonce": 1, "nc": 1, "cnonce": 1, "qop": 1,
        "username": 1, "uri": 1, "response": 1};
    var data = {};

    digest.replace(/(\w+)=(?:(?:")([^"]+)"|([^\s,]+))/g, function(m, m1, m2, m3) {
        data[m1] = m2 ? m2 : m3;
        delete needed_parts[m1];
        return m;
    });

    return Object.keys(needed_parts).length ? false : data;
}
function parseDigest(digest) {
    if (!digest)
        return false;
    // protect against missing data
    var needed_parts = {"nonce": 1, "nc": 1, "cnonce": 1, "qop": 1,
        "username": 1, "uri": 1, "response": 1};
    var data = {};

    digest.replace(/(\w+)=(?:(?:")([^"]+)"|([^\s,]+))/g, function(m, m1, m2, m3) {
        data[m1] = m2 ? m2 : m3;
        delete needed_parts[m1];
        return m;
    });

    return Object.keys(needed_parts).length ? false : data;
}
function parseDigest ( digest ) { if ( ! digest ) return false ; // protect against missing data var needed_parts = { "nonce" : 1 , "nc" : 1 , "cnonce" : 1 , "qop" : 1 , "username" : 1 , "uri" : 1 , "response" : 1 } ; var data = { } ; digest . replace ( / (\w+)=(?:(?:")([^"]+)"|([^\s,]+)) / g , function ( m , m1 , m2 , m3 ) { data [ m1 ] = m2 ? m2 : m3 ; delete needed_parts [ m1 ] ; return m ; } ) ; return Object . keys ( needed_parts ) . length ? false : data ; }
Parses the different pieces of the digest string into an array.

This method returns false if an incomplete digest was supplied

@param {String} digest
@return mixed
Parses the different pieces of the digest string into an array .