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

76.92% Statements 10/13
40% Branches 4/10
0% Functions 0/1
50% Lines 2/4
6 statements, 4 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                                                                                                                           
/**
 * Protocol binding to operate with cookies on the current page.
 *
 * <example>
    :cookie.js
    // get all cookies
    client.cookie(function(err,res) { ... });
 
    // set cookie
    client.cookie('post', {
        name: 'myCookie',
        value: 'some content'
    });
 
    // delete cookie
    client.cookie('delete','myCookie');
 * </example>
 *
 * @param {String=}         method  request method
 * @param {Object=|String=} args    contains cookie information if you want to set a cookie or contains name of cookie if you want to delete it
 *
 * @returns {Object}  cookie data
 *
 * @see  http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/cookie
 * @see  https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/cookie/:name
 * @type protocol
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
var cookie = function cookie(method, args) {
    if (method === undefined) method = 'GET';
 
    var data = {};
    var requestOptions = {
        path: '/session/:sessionId/cookie',
        method: method
    };
 
    /**
     * set cookie param for POST method
     */
    if (method.toUpperCase() === 'POST' && typeof args === 'object') {
        data.cookie = args;
    }
 
    /**
     * add cookie name tp path URL to delete a specific cookie object
     */
    if (method.toUpperCase() === 'DELETE' && typeof args === 'string') {
        requestOptions.path += '/' + args;
    }
 
    return this.requestHandler.create(requestOptions, data);
};
 
exports['default'] = cookie;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvY29va2llLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QkEsSUFBSSxNQUFNLEdBQUcsU0FBVCxNQUFNLENBQWEsTUFBTSxFQUFVLElBQUksRUFBRTtRQUF0QixNQUFNLGdCQUFOLE1BQU0sR0FBRyxLQUFLOztBQUNqQyxRQUFJLElBQUksR0FBRyxFQUFFLENBQUE7QUFDYixRQUFJLGNBQWMsR0FBRztBQUNqQixZQUFJLEVBQUUsNEJBQTRCO0FBQ2xDLGNBQU0sRUFBRSxNQUFNO0tBQ2pCLENBQUE7Ozs7O0FBS0QsUUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtBQUM3RCxZQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtLQUNyQjs7Ozs7QUFLRCxRQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO0FBQy9ELHNCQUFjLENBQUMsSUFBSSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUE7S0FDcEM7O0FBRUQsV0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUE7Q0FDMUQsQ0FBQTs7cUJBRWMsTUFBTSIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL3Byb3RvY29sL2Nvb2tpZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvdG9jb2wgYmluZGluZyB0byBvcGVyYXRlIHdpdGggY29va2llcyBvbiB0aGUgY3VycmVudCBwYWdlLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDpjb29raWUuanNcbiAgICAvLyBnZXQgYWxsIGNvb2tpZXNcbiAgICBjbGllbnQuY29va2llKGZ1bmN0aW9uKGVycixyZXMpIHsgLi4uIH0pO1xuXG4gICAgLy8gc2V0IGNvb2tpZVxuICAgIGNsaWVudC5jb29raWUoJ3Bvc3QnLCB7XG4gICAgICAgIG5hbWU6ICdteUNvb2tpZScsXG4gICAgICAgIHZhbHVlOiAnc29tZSBjb250ZW50J1xuICAgIH0pO1xuXG4gICAgLy8gZGVsZXRlIGNvb2tpZVxuICAgIGNsaWVudC5jb29raWUoJ2RlbGV0ZScsJ215Q29va2llJyk7XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtIHtTdHJpbmc9fSAgICAgICAgIG1ldGhvZCAgcmVxdWVzdCBtZXRob2RcbiAqIEBwYXJhbSB7T2JqZWN0PXxTdHJpbmc9fSBhcmdzICAgIGNvbnRhaW5zIGNvb2tpZSBpbmZvcm1hdGlvbiBpZiB5b3Ugd2FudCB0byBzZXQgYSBjb29raWUgb3IgY29udGFpbnMgbmFtZSBvZiBjb29raWUgaWYgeW91IHdhbnQgdG8gZGVsZXRlIGl0XG4gKlxuICogQHJldHVybnMge09iamVjdH0gIGNvb2tpZSBkYXRhXG4gKlxuICogQHNlZSAgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCMvc2Vzc2lvbi86c2Vzc2lvbklkL2Nvb2tpZVxuICogQHNlZSAgaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9zZWxlbml1bS93aWtpL0pzb25XaXJlUHJvdG9jb2wjL3Nlc3Npb24vOnNlc3Npb25JZC9jb29raWUvOm5hbWVcbiAqIEB0eXBlIHByb3RvY29sXG4gKlxuICovXG5cbmxldCBjb29raWUgPSBmdW5jdGlvbiAobWV0aG9kID0gJ0dFVCcsIGFyZ3MpIHtcbiAgICBsZXQgZGF0YSA9IHt9XG4gICAgbGV0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgICBwYXRoOiAnL3Nlc3Npb24vOnNlc3Npb25JZC9jb29raWUnLFxuICAgICAgICBtZXRob2Q6IG1ldGhvZFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNldCBjb29raWUgcGFyYW0gZm9yIFBPU1QgbWV0aG9kXG4gICAgICovXG4gICAgaWYgKG1ldGhvZC50b1VwcGVyQ2FzZSgpID09PSAnUE9TVCcgJiYgdHlwZW9mIGFyZ3MgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGRhdGEuY29va2llID0gYXJnc1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGFkZCBjb29raWUgbmFtZSB0cCBwYXRoIFVSTCB0byBkZWxldGUgYSBzcGVjaWZpYyBjb29raWUgb2JqZWN0XG4gICAgICovXG4gICAgaWYgKG1ldGhvZC50b1VwcGVyQ2FzZSgpID09PSAnREVMRVRFJyAmJiB0eXBlb2YgYXJncyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmVxdWVzdE9wdGlvbnMucGF0aCArPSAnLycgKyBhcmdzXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEhhbmRsZXIuY3JlYXRlKHJlcXVlc3RPcHRpb25zLCBkYXRhKVxufVxuXG5leHBvcnQgZGVmYXVsdCBjb29raWVcbiJdfQ==