all files / DEV/lib/protocol/ sessionStorage.js

69.23% Statements 9/13
50% Branches 6/12
0% Functions 0/1
50% Lines 2/4
5 statements, 6 branches Ignored     
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67                                                                                                                                   
/**
 *
 * Protocol bindings for all sessionStorage operations.
 *
 * <example>
    :sessionStorage.js
    // get the storage item for the given key
    client.sessionStorage('GET', someKey, function(err,res) { ... });
 
    // get all keys of the storage
    client.sessionStorage(function(err,res) { ... });
 
    // set the storage item for the given key
    client.sessionStorage('POST', {key: someKey, value: someValue});
 
    // remove the storage item for the given key
    client.sessionStorage('DELETE', 'someKey');
 
    // clear the storage
    client.sessionStorage('DELETE');
 * </example>
 *
 * @param {String=}        method  method for storage operation
 * @param {Object|String=} args    operation arguments
 *
 * @see  https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/session_storage
 * @type protocol
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
var sessionStorage = function sessionStorage(method, args) {
    if (method === undefined) method = 'GET';
 
    /**
     * set default options
     */
    var data = {};
    var requestOptions = {
        path: '/session/:sessionId/session_storage',
        method: method.toUpperCase()
    };
 
    if (requestOptions.method === 'POST' && typeof args === 'object') {
        data = {
            key: args.key,
            value: args.value
        };
    }
 
    /**
     * add/delete specific key
     */
    if (requestOptions.method === 'DELETE' && typeof args === 'string' || requestOptions.method === 'GET' && typeof args === 'string') {
        requestOptions.path += '/key/' + args;
    }
 
    return this.requestHandler.create(requestOptions, data);
};
 
exports['default'] = sessionStorage;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvc2Vzc2lvblN0b3JhZ2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QkEsSUFBSSxjQUFjLEdBQUcsU0FBakIsY0FBYyxDQUFhLE1BQU0sRUFBVSxJQUFJLEVBQUU7UUFBdEIsTUFBTSxnQkFBTixNQUFNLEdBQUcsS0FBSzs7Ozs7QUFJekMsUUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFBO0FBQ2IsUUFBSSxjQUFjLEdBQUc7QUFDakIsWUFBSSxFQUFFLHFDQUFxQztBQUMzQyxjQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRTtLQUMvQixDQUFBOztBQUVELFFBQUksY0FBYyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO0FBQzlELFlBQUksR0FBRztBQUNILGVBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztBQUNiLGlCQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDcEIsQ0FBQTtLQUNKOzs7OztBQUtELFFBQUksQUFBQyxjQUFjLENBQUMsTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQy9ELGNBQWMsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQUFBQyxFQUFFO0FBQzlELHNCQUFjLENBQUMsSUFBSSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUE7S0FDeEM7O0FBRUQsV0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUE7Q0FDMUQsQ0FBQTs7cUJBRWMsY0FBYyIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL3Byb3RvY29sL3Nlc3Npb25TdG9yYWdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogUHJvdG9jb2wgYmluZGluZ3MgZm9yIGFsbCBzZXNzaW9uU3RvcmFnZSBvcGVyYXRpb25zLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDpzZXNzaW9uU3RvcmFnZS5qc1xuICAgIC8vIGdldCB0aGUgc3RvcmFnZSBpdGVtIGZvciB0aGUgZ2l2ZW4ga2V5XG4gICAgY2xpZW50LnNlc3Npb25TdG9yYWdlKCdHRVQnLCBzb21lS2V5LCBmdW5jdGlvbihlcnIscmVzKSB7IC4uLiB9KTtcblxuICAgIC8vIGdldCBhbGwga2V5cyBvZiB0aGUgc3RvcmFnZVxuICAgIGNsaWVudC5zZXNzaW9uU3RvcmFnZShmdW5jdGlvbihlcnIscmVzKSB7IC4uLiB9KTtcblxuICAgIC8vIHNldCB0aGUgc3RvcmFnZSBpdGVtIGZvciB0aGUgZ2l2ZW4ga2V5XG4gICAgY2xpZW50LnNlc3Npb25TdG9yYWdlKCdQT1NUJywge2tleTogc29tZUtleSwgdmFsdWU6IHNvbWVWYWx1ZX0pO1xuXG4gICAgLy8gcmVtb3ZlIHRoZSBzdG9yYWdlIGl0ZW0gZm9yIHRoZSBnaXZlbiBrZXlcbiAgICBjbGllbnQuc2Vzc2lvblN0b3JhZ2UoJ0RFTEVURScsICdzb21lS2V5Jyk7XG5cbiAgICAvLyBjbGVhciB0aGUgc3RvcmFnZVxuICAgIGNsaWVudC5zZXNzaW9uU3RvcmFnZSgnREVMRVRFJyk7XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtIHtTdHJpbmc9fSAgICAgICAgbWV0aG9kICBtZXRob2QgZm9yIHN0b3JhZ2Ugb3BlcmF0aW9uXG4gKiBAcGFyYW0ge09iamVjdHxTdHJpbmc9fSBhcmdzICAgIG9wZXJhdGlvbiBhcmd1bWVudHNcbiAqXG4gKiBAc2VlICBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCMvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZVxuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxubGV0IHNlc3Npb25TdG9yYWdlID0gZnVuY3Rpb24gKG1ldGhvZCA9ICdHRVQnLCBhcmdzKSB7XG4gICAgLyoqXG4gICAgICogc2V0IGRlZmF1bHQgb3B0aW9uc1xuICAgICAqL1xuICAgIGxldCBkYXRhID0ge31cbiAgICBsZXQgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIHBhdGg6ICcvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZScsXG4gICAgICAgIG1ldGhvZDogbWV0aG9kLnRvVXBwZXJDYXNlKClcbiAgICB9XG5cbiAgICBpZiAocmVxdWVzdE9wdGlvbnMubWV0aG9kID09PSAnUE9TVCcgJiYgdHlwZW9mIGFyZ3MgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICBrZXk6IGFyZ3Mua2V5LFxuICAgICAgICAgICAgdmFsdWU6IGFyZ3MudmFsdWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGFkZC9kZWxldGUgc3BlY2lmaWMga2V5XG4gICAgICovXG4gICAgaWYgKChyZXF1ZXN0T3B0aW9ucy5tZXRob2QgPT09ICdERUxFVEUnICYmIHR5cGVvZiBhcmdzID09PSAnc3RyaW5nJykgfHxcbiAgICAgICAocmVxdWVzdE9wdGlvbnMubWV0aG9kID09PSAnR0VUJyAmJiB0eXBlb2YgYXJncyA9PT0gJ3N0cmluZycpKSB7XG4gICAgICAgIHJlcXVlc3RPcHRpb25zLnBhdGggKz0gJy9rZXkvJyArIGFyZ3NcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0SGFuZGxlci5jcmVhdGUocmVxdWVzdE9wdGlvbnMsIGRhdGEpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHNlc3Npb25TdG9yYWdlXG4iXX0=